codevs 4052 黎恒健大战YJY
现在,黎恒健与YJY由于身处异地,非常迫切地想在最短的时间内相遇,然后干一架。但是由于双方都在努力地编程序想干掉对方,所以他们希望你来帮他们找到一个最好的方案使得相遇的时间最短。
在此我们定义"相遇"为:两个人皆在同一个有编号的星球上就可以了,并且这两个人均可以站在原地等另外一个人。也就是说,在这里我们不考虑两人在宇宙中间相遇。
输入数据第一行:N和M(用空格隔开) 表示这是一个N个点的图并且有M条边
第二行到第M+1行 为这个图的详细信息。
每行共有被空格隔开的三个数:a b c。表示编号为a的星球到编号为b的星球
有一个双向边,并且要过这条双向边所需要花费的时间为c。
最后一行有两个数:Y和T,Y表示黎恒健所在星球(也就是月球),T表示YJY所处的
星球(也就是天狼星)
输出只有一行,D,表示二者"相遇"的最短时间。当然,如果无法相遇则输出"They are all died!"
3 3
1 2 1
2 3 1
1 3 1
1 3
1
[数据范围]每组都是n=5000 m=5000 并且保证运算过程中的所有值都不会超过117901063
#include <cstring>
#include <cstdio>
#include <queue>
#define N 5005
using namespace std;
bool vis[N];
int n,m,S,T,cnt,ans=0x7fffffff,far[][N],to[N<<],val[N],head[N],nextt[N<<];
struct node
{
int x,y;
bool operator<(node a)const
{
return y>a.y;
}
};
priority_queue<node>q;
void dijkstra(int s,int *dis)
{
memset(vis,,sizeof(vis));
for(int i=;i<=n;++i) dis[i]=0x7fffffff;
dis[s]=;
q.push((node){s,dis[s]});
for(node now;!q.empty();)
{
now=q.top();q.pop();
if(vis[now.x]) continue;
vis[now.x]=true;
for(int i=head[now.x];i;i=nextt[i])
{
int v=to[i];
if(dis[v]>dis[now.x]+val[i])
{
dis[v]=dis[now.x]+val[i];
if(!vis[v]) q.push((node){v,dis[v]});
}
}
}
}
inline int min(int a,int b) {return a>b?b:a;}
inline int max(int a,int b) {return a>b?a:b;}
inline void ins(int u,int v,int w)
{
nextt[++cnt]=head[u];to[cnt]=v;val[cnt]=w;head[u]=cnt;
nextt[++cnt]=head[v];to[cnt]=u;val[cnt]=w;head[v]=cnt;
}
int main(int argc,char *argv[])
{
scanf("%d%d",&n,&m);
for(int a,b,c;m--;)
{
scanf("%d%d%d",&a,&b,&c);
ins(a,b,c);
}
scanf("%d%d",&S,&T);
dijkstra(S,far[]);
dijkstra(T,far[]);
for(int i=;i<=n;++i) ans=min(ans,max(far[][i],far[][i]));
ans!=0x7fffffff?printf("%d\n",ans):printf("They are all died!");
return ;
}
codevs 4052 黎恒健大战YJY的更多相关文章
- codevs 3289 花匠
题目:codevs 3289 花匠 链接:http://codevs.cn/problem/3289/ 这道题有点像最长上升序列,但这里不是上升,是最长"波浪"子序列.用动态规划可 ...
- 3D坦克大战游戏源码
3D坦克大战游戏源码,该游戏是基于xcode 4.3,ios sdk 5.1开发.在xcode4.3.3上完美无报错.兼容ios4.3-ios6.0 ,一款ios平台上难得的3D坦克大战游戏源码,有2 ...
- codevs 1082 线段树练习 3(区间维护)
codevs 1082 线段树练习 3 时间限制: 3 s 空间限制: 128000 KB 题目等级 : 大师 Master 题目描述 Description 给你N个数,有两种操作: 1:给区 ...
- codevs 1285 二叉查找树STL基本用法
C++STL库的set就是一个二叉查找树,并且支持结构体. 在写结构体式的二叉查找树时,需要在结构体里面定义操作符 < ,因为需要比较. set经常会用到迭代器,这里说明一下迭代器:可以类似的把 ...
- codevs 1576 最长上升子序列的线段树优化
题目:codevs 1576 最长严格上升子序列 链接:http://codevs.cn/problem/1576/ 优化的地方是 1到i-1 中最大的 f[j]值,并且A[j]<A[i] .根 ...
- codevs 1080 线段树点修改
先来介绍一下线段树. 线段树是一个把线段,或者说一个区间储存在二叉树中.如图所示的就是一棵线段树,它维护一个区间的和. 蓝色数字的是线段树的节点在数组中的位置,它表示的区间已经在图上标出,它的值就是这 ...
- codevs 1228 苹果树 树链剖分讲解
题目:codevs 1228 苹果树 链接:http://codevs.cn/problem/1228/ 看了这么多树链剖分的解释,几个小时后总算把树链剖分弄懂了. 树链剖分的功能:快速修改,查询树上 ...
- codevs 1082 线段树区间求和
codevs 1082 线段树练习3 链接:http://codevs.cn/problem/1082/ sumv是维护求和的线段树,addv是标记这歌节点所在区间还需要加上的值. 我的线段树写法在运 ...
- codevs 1052 地鼠游戏
1052 地鼠游戏 http://codevs.cn/problem/1052/ 题目描述 Description 王钢是一名学习成绩优异的学生,在平时的学习中,他总能利用一切时间认真高效地学习,他不 ...
随机推荐
- Head First HTML与CSS(第2版) 中文pdf扫描版
是不是已经厌倦了那些深奥的HTML书?你可能在抱怨,只有成为专家之后才能读懂那些书.那么,找一本新修订的<Head First HTML与CSS(第2版)>吧,来真正学习HTML.你可能希 ...
- springboot 使用war包部署
ps://www.cnblogs.com/jiaoyiping/p/4251718.html
- WPF的TextBox产生内存泄露的情况
前段时间参与了一个WPF编写的项目,在该项目中有这样一个场景:在程序运行过程中需要动态地产生大量文本信息,并追加WPF界面上的一个TextBox的Text中进行显示.编写完之后,运行该项目的程序,发现 ...
- weex前端式写法解决方案---eros
前言 如果想用前端的方式写一个app怎么办呢? 如果你用的是 React,那么它已经有了一个比较完善的体系跟社区.如果你用的是Vue又不想花费太多时间去重新学习React,那么目前比较靠谱的方案就是w ...
- 2010辽宁省赛E(Bellman_Ford最短路,状态压缩DP【三进制】)
#include<bits/stdc++.h>using namespace std;const int inf=0x3f3f3f3f;struct node{ int v,z,d, ...
- 未能加载文件或程序集“Oracle.DataAccess, Version=4.112.2.0, Culture=neutral, PublicKeyTok”
1.首先看一下C:\Windows\assembly目录下是不是只有一个Oracle.DataAccess,我的版本是10,如果是只有一个,则往下看: 2.将完整的odp.net(目录下包含注册文件) ...
- mui 上拉加载更多的使用
最近工作之余在用mui的框架开发,对mui了解了一些.在真正的app开发项目中,mui上拉加载模块中有两个坑,现在说一下. 1.在函数自己上拉加载行为后的回调函数 该函数是必须要写的,用来写自己的逻辑 ...
- CSS十一问——好奇心+刨根问底=CSSer
最近有时间,想把酝酿的几篇博客都写出来,今天前端小学生带着10个问题,跟大家分享一下学习CSS的一些体会,我觉得想学好CSS,必须保持一颗好奇心和刨根问底的劲头,而不是复制粘贴,得过且过.本人能力有限 ...
- POJ1043 What's In A Name?
题目来源:http://poj.org/problem?id=1043 题目大意: 一个犯罪团伙有n个成员,每人有一个唯一的字符串作为id,每人还有一个唯一的字符串作为name.该团伙有一个hideo ...
- angularjs 使用angular-sortable-view实现拖拽效果(包括拖动完成后的方法使用)
首先还是看效果图吧,方便大家可以快速得知是否是自己需要的功能:(抱歉电脑还未安装动图软件,先用.png) 如果上图是你需要的功能效果图,那么请往下看,我有写出来例子哦~ 使用这个插件有几个好处,首先: ...