时间限制: 1 s
 空间限制: 32000 KB
 题目等级 : 黄金 Gold
题目描述 Description

现在,黎恒健与YJY由于身处异地,非常迫切地想在最短的时间内相遇,然后干一架。但是由于双方都在努力地编程序想干掉对方,所以他们希望你来帮他们找到一个最好的方案使得相遇的时间最短。
     在此我们定义"相遇"为:两个人皆在同一个有编号的星球上就可以了,并且这两个人均可以站在原地等另外一个人。也就是说,在这里我们不考虑两人在宇宙中间相遇。

输入描述 Input Description

输入数据第一行:N和M(用空格隔开) 表示这是一个N个点的图并且有M条边
第二行到第M+1行 为这个图的详细信息。
    每行共有被空格隔开的三个数:a b c。表示编号为a的星球到编号为b的星球
    有一个双向边,并且要过这条双向边所需要花费的时间为c。
最后一行有两个数:Y和T,Y表示黎恒健所在星球(也就是月球),T表示YJY所处的
星球(也就是天狼星)

输出描述 Output Description

输出只有一行,D,表示二者"相遇"的最短时间。当然,如果无法相遇则输出"They are all died!"

样例输入 Sample Input

3 3

1 2 1

2 3 1

1 3 1

1 3

样例输出 Sample Output

1

数据范围及提示 Data Size & Hint

[数据范围]每组都是n=5000 m=5000 并且保证运算过程中的所有值都不会超过117901063

以黎恒健为原点做 dijkstra
以YJY为原点做 djikstra
答案=min(max(dis1[i],dis2[i]));
屠龙宝刀点击就送
#include <cstring>
#include <cstdio>
#include <queue>
#define N 5005
using namespace std;
bool vis[N];
int n,m,S,T,cnt,ans=0x7fffffff,far[2][N],to[N<<1],val[N],head[N],nextt[N<<1];
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,0,sizeof(vis));for(int i=1;i<=n;++i) dis[i]=0x7fffffff;dis[s]=0;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[0]);dijkstra(T,far[1]);for(int i=1;i<=n;++i) ans=min(ans,max(far[0][i],far[1][i]));ans!=0x7fffffff?printf("%d\n",ans):printf("They are all died!");return 0;
}

转载于:https://www.cnblogs.com/ruojisun/p/7693725.html

codevs 4052 黎恒健大战YJY相关推荐

  1. 鸿蒙生死印里的声音是谁,逆天邪神:喊逆玄的确实是黎娑,鸿蒙生死印应该也是活物...

    至于黎娑为什么会待在鸿蒙生死印这里,或许这个答案跟远古时期的神魔大战有关. 当年黎娑一人挑战几大魔族的顶尖高手,最后不幸的是被魔族联合围杀,自此一代创世神也从此陨落. 不过黎娑的死亡在文中也没有具体的 ...

  2. 《东周列国志》第七十九回 归女乐黎弥阻孔子 栖会稽文种通宰嚭

    话说齐侯自会夹谷归后,晏婴病卒.景公哀泣数日,正忧朝中乏人,复闻孔子相鲁,鲁国大治,惊曰:"鲁相孔子必霸,霸必争地,齐为近邻,恐祸之先及,奈何?"大夫黎弥进曰:"君患孔子 ...

  3. 大战初起 “云”局未定:微软云在未来能够抢到多少市场份额?

    [数据猿导读] 云计算市场体量巨大,现阶段开发出来的只是冰山一角.格局远远未定,大战只是刚刚启幕-- 记者 | 小北 官网 | www.datayuan.cn 微信公众号ID | datayuancn ...

  4. 3Q大战续集:腾讯再诉360索赔1.25亿

    3Q大战仍未终结. 本报从接近两公司系列诉讼案的律师处获悉,又一起腾讯诉360不正当竞争案将于9月18日在广东省高级人民法院开庭,腾讯向360索赔经济损失1.25亿元. 在8月份的交换证据中,腾讯提交 ...

  5. 复盘小米魅族大战,1499 红米是假,小米4 降价是真

    小米魅族大战稍歇一段.但笔者深信这仅是暴风雨前的平静.国庆前再复盘来看整场国产手机历史上旷世之战,可以嗅出诸多端倪. 端倪一  :1799 击中小米命门 按照小米的风格,非同一体量的公司无论怎么*** ...

  6. 射击类小游戏——坦克大战(java实现)

    项目名称:坦克大战 项目背景:坦克大战是一款非常经典的游戏,也是学习面向对象编程的理想实例.现在面向对象的计算机编程语言很多,很多想法都可以通过编程来实现.本文的坦克大战有完整的界面,能够实现人机大战 ...

  7. 首席新媒体运营商学院黎想:教育机构4大用户增长策略

    增长一直是各行业各企业关注的命题,在线教育也是如此.通常情况下,增长包含用户增长和营收增长,如果要在二者做一个权衡,用户增长往往是首要发展问题,因为要想创造营收需要有一定规模的用户量为基础,所以我们看 ...

  8. 庆俞年”大战,真正受损的不是李国庆

    ​从今年年初开始,'庆俞年'大战就从夺权拉起了帷幕.到抢公章再到当当创始人李国庆被儿子告上法庭,几次登上热搜.这一年可谓「当当网」舆论大年,而8.12日又因法庭辩论微博发文直指"俞渝你有什么 ...

  9. [ CodeVS冲杯之路 ] P1116

    不充钱,你怎么AC? 题目:http://codevs.cn/problem/1116/ 数据很小,DFS可A,每层枚举颜色,判断相邻的点是否有重复的颜色,记得回溯时把颜色染回0,即无颜色 这里我使用 ...

最新文章

  1. 微软企业库4.1学习笔记(八)创建对象 续集2
  2. SSH登录很慢问题的解决
  3. nyoj 677 碟战(最大流最小割定理)
  4. java redis服务_java链接redis服务器
  5. Flask mysql 模版传参_Flask渲染Jinja2模板和传参
  6. nginx fastcgi python_webpy + nginx + fastcgi 构建python应用
  7. xilinx sdk在Debug模式下根据地址在内存里观察值
  8. ug12对计算机配置要求,ug12.0对电脑配置要求
  9. 搭建git服务器 web项目,git服务器搭建web项目
  10. 制作字幕(一般方法)
  11. python怎么判断质数和合数_如何快速判断是质数还是合数 - 草稿
  12. 初学JAVA-3-重新定义和第一个JAVA手工程序
  13. Ubuntu 20.04安装绿联PL2303串口驱动
  14. 使用sqlyog连接阿里云rds数据库
  15. 如何做好软件系统的架构设计?
  16. 房租客手机端个人中心html页面
  17. axios请求发送两次请求_vue使用axios发送请求,都会发送两次请求
  18. jquery 后台数据到前台展示
  19. Lamp 服务器环境安装
  20. Python+pandas把多个DataFrame对象写入Excel文件中同一个工作表

热门文章

  1. Unity手游实战:从0开始SLG——逻辑与表现分离以及实战ECS架构和优化
  2. 笔记本电脑免拆清灰的诸多方法,怎么不拆机清灰
  3. 中国企业对软件人才利用的思考
  4. 系统安全博客3-windowsserver安全加固
  5. 是一个新的开始,还是冥冥之中已经在路上。
  6. windows自带磁盘修复命令chkdsk的使用方法
  7. 贪心动规c++小入门
  8. Android 边边角角
  9. 准的吓人的“寿命计算器”来了,用五分钟算算自己还能活多久
  10. 分享35个ASP源码,总有一款适合您