POJ1135 Domino Effect
题目:http://poj.org/problem?id=1135
只是求以1为起点的最短路罢了。稍稍判断一下在边上的情况。
多亏提醒:毒数据——n==1!一定要dis [ k ] >= ans!!!
注意输出格式(换行)。
#include<iostream>
#include<cstdio>
#include<cstring>
#define ll long long
using namespace std;
int n,m,head[],xnt,x,y,T;
int hp[],cnt,k1,k2;
ll dis[],z;
double ans;
bool vis[];
struct Edge{
int next,to;
ll w;
Edge(int a=,int b=,ll c=):next(a),to(b),w(c) {}
}edge[];
ll abss(ll k)
{
if(k<)k=-k;
return k;
}
void push(int k)
{
hp[++cnt]=k;
int now=cnt;
while(now>)
{
int tp=(now>>);
if(dis[hp[now]]<dis[hp[tp]])swap(hp[now],hp[tp]);
else break;
now=tp;
}
}
int del()
{
int res=hp[];
hp[]=hp[cnt--];
int now=;
while((now<<)<=cnt)
{
int tp=(now<<);
if(tp<cnt&&dis[hp[tp+]]<dis[hp[tp]])tp++;
if(dis[hp[tp]]<dis[hp[now]])swap(hp[tp],hp[now]);
else break;
now=tp;
}
return res;
}
int main()
{
while(++T)
{
scanf("%d%d",&n,&m);
if(!n&&!m)return ;
memset(dis,,sizeof dis);
memset(head,,sizeof head);
memset(vis,,sizeof vis);
xnt=;ans=;k1=;k2=;
for(int i=;i<=m;i++)
{
scanf("%d%d%lld",&x,&y,&z);
edge[++xnt]=Edge(head[x],y,z);head[x]=xnt;
edge[++xnt]=Edge(head[y],x,z);head[y]=xnt;
}
dis[]=;push();
while(cnt)
{
int k=del();
while(cnt&&vis[k])k=del();
if(vis[k])break;
vis[k]=;
if(dis[k]>=ans)//////////
{
ans=dis[k];k1=k;
}
for(int i=head[k],v;i;i=edge[i].next)
if(!vis[v=edge[i].to]&&dis[k]+edge[i].w<dis[v])
{
dis[v]=dis[k]+edge[i].w;
push(v);
}
}
double c=;
for(int i=;i<=n;i++)
for(int j=head[i],v;j;j=edge[j].next)
if(abss(dis[i]-dis[v=edge[j].to])<edge[j].w&&
(c=max(dis[i],dis[v])+(double)(edge[j].w-abss(dis[i]-dis[v]))/)>ans)
{
ans=c;k1=min(i,v);k2=max(i,v);
}
printf("System #%d\n",T);
if(!k2)
printf("The last domino falls after %.1lf seconds, at key domino %d.\n\n",ans,k1);
else
printf("The last domino falls after %.1lf seconds, between key dominoes %d and %d.\n\n",ans,k1,k2);
}
}
POJ1135 Domino Effect的更多相关文章
- POJ1135 Domino Effect(SPFA)
题目大概是,普通骨牌连接两张关键骨牌,一旦一张关键骨牌倒下与其相邻的普通骨牌也倒下,普通骨牌倒下与其相邻的骨牌也倒下.给出所有有普通骨牌相连的两个关键骨牌之间普通骨牌倒下所需时间,问1号关键骨牌开始倒 ...
- [ACM_图论] Domino Effect (POJ1135 Dijkstra算法 SSSP 单源最短路算法 中等 模板)
Description Did you know that you can use domino bones for other things besides playing Dominoes? Ta ...
- CF 405B Domino Effect(想法题)
题目链接: 传送门 Domino Effect time limit per test:1 second memory limit per test:256 megabytes Descrip ...
- POJ 1135 Domino Effect(Dijkstra)
点我看题目 题意 : 一个新的多米诺骨牌游戏,就是这个多米诺骨中有许多关键牌,他们之间由一行普通的骨牌相连接,当一张关键牌倒下的时候,连接这个关键牌的每一行都会倒下,当倒下的行到达没有倒下的关键牌时, ...
- POJ 1135 Domino Effect (spfa + 枚举)- from lanshui_Yang
Description Did you know that you can use domino bones for other things besides playing Dominoes? Ta ...
- UVA211-The Domino Effect(dfs)
Problem UVA211-The Domino Effect Accept:536 Submit:2504 Time Limit: 3000 mSec Problem Description ...
- POJ 1135 Domino Effect (Dijkstra 最短路)
Domino Effect Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 9335 Accepted: 2325 Des ...
- POJ 1135.Domino Effect Dijkastra算法
Domino Effect Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 10325 Accepted: 2560 De ...
- zoj 1298 Domino Effect (最短路径)
Domino Effect Time Limit: 2 Seconds Memory Limit: 65536 KB Did you know that you can use domino ...
随机推荐
- notepad++插件安装
notepad安装目录的 plugins 下重启 notepad.exe程序即可 插件下载地址 : https://sourceforge.net/projects/npp-plugins/fil ...
- iddea代码调试debug篇
代码调试debug篇 主要看图,看图一目了然. 断点的设定和eclipse一样,只要点一下就可以,下面是我设定的几个断点,再下面的三个窗口是用来调试代码的,这个和eclipse类似 调试常用的快捷键 ...
- js数组与字符串之间的相互转换
一.数组转字符串 需要将数组元素用某个字符连接成字符串,示例代码如下 <!doctype html> <html> <head> <meta charset= ...
- PHP:第一章——PHP中常量和预定义常量
<?php /*****************************************************/ //1.常量的定义 //常量:声明一次后长期不变的量,以字母或下划线开 ...
- 数据集永久字段的Visble 属性为何不起作用
ADOTable,永久字段,已经将visible属性设置为false,设计期,打开数据集,该字段是隐藏了,但是运行时还是显示的!! 原因是,之前持久化了 DBGRID的Coumns,FORM创建又读取 ...
- Nginx+Tomcat简单集群
1.软件准备下载Nginx和Tomcat解压到一个目录2.修改Tomcat的端口Tomcat1:修改Server.xmlTomcat2:修改Server.xml3.测试Tomcat是否正常运行分别访问 ...
- Java通过class文件得到所在jar包
今天遇到一个问题,需要通过知道的class文件得到该文件所在的jar包,试过很多办法都不行,最后在网上找到了一个解决办法,如下: demo.java 1 2 String path = XXX.cla ...
- 玩转X-CTR100 l STM32F4 l DS18B20单总线温度传感器
我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ] 本文介绍X-CTR100控制器 扩展DS1 ...
- 用MyEclipse JPA创建项目(四)
MyEclipse 3.15 Style——在线购买低至75折!火爆开抢>> [MyEclipse最新版下载] 本教程介绍了MyEclipse中的一些基于PA的功能. 阅读本教程时,了解J ...
- 将PS/2接口鼠标改造成USB接口鼠标
改造接线图 不是所有PS/2鼠标都可以改为USB鼠标的,可以改的PS/2鼠标的特征: A.早期PS/2鼠标电路板一般带有两块集成电路,(一块光电感应,一块按键或USB协议转换,和一只24M的晶体振荡器 ...