SSLOJ 1295 腾讯大战360

  • Description--
  • Input--
  • Output--
  • Sample Input--
  • Sample Output--
  • 说明--
  • 解题思路--
  • 代码--

Description–

2010年11月3日,是一个难忘的日子。 腾讯发布消息:存360则,不留QQ。留QQ,则须卸360。 360则表示360与QQ可以共存。 这也就标志着腾讯与360的大战就此开始!
现在,腾讯与360由于身处异地,非常迫切地想在最短的时间内相遇,然后干一架。但是由于双方的技术员都在努力地编程序想干掉对方,所以他们希望你来帮他们找到一个最好的方案使得相遇的时间最短。
在此我们定义“相遇”为:两个人皆在同一个有编号的城市上就可以了,并且这两个人均可以站在原地等另外一个人。也就是说,在这里我们不考虑两人在路中间相遇。


Input–

输入数据第一行:N和M(用空格隔开) 表示这是一个N*N的图并且有M条边,第二行到第M+1行 为这个图的详细信息。
每行共有被空格隔开的三个数:a b c。表示编号为a的城市到编号为b的城市
有一个双向边,并且要过这条双向边所需要花费的时间为c。
最后一行有两个数:S和T,S表示腾讯所处的城市(也就是深圳),T表示360所处的
城市(也就是北京)

Output–

输出只有一行,D,表示二者“相遇”的最短时间。当然,如果无法相遇则输出“Peace!”


Sample Input–

3 3
1 2 1
2 3 1
1 3 1
1 3

Sample Output–

1


说明–

数据规模
对于%20的数据 N<=10
对于%40的数据 N<=50
对于%100的数据 N<=300 a[i]<=300


解题思路–

正着用一次SPFA,反着再用一次,再在最大值中找最小值。


代码–

#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
struct emm
{int x,y,next;
}f[50010];
bool pd[5010];
int dis[5010],dis2[5010],dl[15010],ls[5010];
int n,m,ll,lr,le,tt,s,t,u,o,l,r=1,ans;
int main()
{scanf("%d%d",&n,&m);for (int i=1;i<=m;++i){scanf("%d%d%d",&ll,&lr,&le);f[++tt].x=lr; f[tt].y=le; f[tt].next=ls[ll]; ls[ll]=tt;//邻接表f[++tt].x=ll; f[tt].y=le; f[tt].next=ls[lr]; ls[lr]=tt;//}scanf("%d%d",&s,&t);memset(dis,0x7f,sizeof(dis));dis[s]=0,dl[1]=s,pd[s]=true;while (l<r)//SPFA.1{l++,u=dl[l];for (int i=ls[u];i;i=f[i].next)if (dis[o=f[i].x]>dis[u]+f[i].y){dis[o]=dis[u]+f[i].y;if (!pd[o]){pd[o]=true;dl[++r]=o;}}pd[u]=false;}memset(dis2,0x7f,sizeof(dis2));dis2[t]=0,dl[1]=t,pd[t]=true,l=0,r=1;while (l<r)//SPFA.2{l++,u=dl[l];for (int i=ls[u];i;i=f[i].next)if (dis2[o=f[i].x]>dis2[u]+f[i].y){dis2[o]=dis2[u]+f[i].y;if (!pd[o]){pd[o]=true;dl[++r]=o;}}pd[u]=false;}ans=dis[0];for (int i=1;i<=n;++i)ans=min(ans,max(dis[i],dis2[i]));//在最大值中找最小值if(ans!=dis[0]) printf("%d",ans);else printf("Peace!");return 0;
}

腾讯大战360【SPFA】相关推荐

  1. 【2018.3.10】模拟赛之四-ssl2133 腾讯大战360【SPAF,图论,最短路径】

    目录地址 前言 打错了一个地方之接60,还有输出"Peace"能拿60.还有题目坑爹害得我用了哈希,可以无视 QAQ 正题 有一个n*n的图,有m条边,不知道几个城市,给出两个位置 ...

  2. 腾讯与360诉讼陷入拉锯战:敬畏同时余火未熄

    腾讯称360举证困难要求延期,360表示要追加新证据 一方面腾讯起诉360不正当竞争,另一方面360回敬起诉腾讯侵犯名誉权,本以为会在感恩节第一次交火,却因360申请延期开庭而暂时搁浅.虽然在工信部的 ...

  3. 腾讯与360你们支持谁?

    腾讯与360目前搞的国内互联网乌烟瘴气,但是究竟是垄断和反垄断的竞争,还是纯粹的商业竞争?为什么腾讯会要挟用户?而360为什么要挑战腾讯的地位? 而我个人觉得360如果可以动摇腾讯的地位,我支持,使之 ...

  4. 互联网的战争--腾讯与360

    回家,上Q,跳出一则消息: 致广大QQ用户的一封信 亲爱的QQ用户: 当您看到这封信的时候,我们刚刚作出了一个非常艰难的决定.在360公司停止对QQ进行外挂侵犯和恶意诋毁之前,我们决定将在装有360软 ...

  5. 腾讯反360秘密会议

    腾讯反360秘密会议 http://www.tudou.com/programs/view/P7DfH5WBz0k/ 360版大腕<红衣疯人院> http://www.tudou.com/ ...

  6. 腾讯与360之间引起的反思

    在公交车上听到同事说腾讯与360不兼容的事,本来还不相信有这种事,但偏偏就发生在我的电脑上了.QQ弹出的窗口上所推荐的软件我不一概不用,以后也不会在使用这些软件,现在用了捷克的avast免费杀毒软件. ...

  7. 今天腾讯和360之战够写入中国互联网历史了

    今天中国互联网两大巨头腾讯和360都宣布互不兼容,不分水火,腾讯的闪击战在前,360也早就准备好了接招,相信几年前就已经为这一天部署了,前一段QQ大规模升级应该就是做战前的最后准备,360随时可以升级 ...

  8. 生、死、腾讯、360

    360和网易有道宣布,360搜索将为有道搜索提供技术支持服务,用户在使用有道搜索时,搜索结果将由360搜索提供,并且在搜索框旁会标注360搜索提供技术支持. 官方称之为战略合作升级,说得也没错. 但我 ...

  9. (转)谈谈我的面经(华为、锐捷、十所、百度、腾讯、360、建行、EMC)

    2019独角兽企业重金招聘Python工程师标准>>> 谈谈我的面经(华为.锐捷.十所.百度.腾讯.360.建行.EMC) 首先,感谢那些默默奉献出自己宝贵面试经验以及面试题库的童靴 ...

  10. 3Q诉讼案开庭 腾讯称360诉讼书矛盾百出

    3Q诉讼案开庭 腾讯称360诉讼书矛盾百出 <财经>综合报道 4月18日,360与腾讯围绕垄断所发起的诉讼战在广东省高级人民法院打响了第一枪.双方在庭审的第一天就进行了激烈交锋,360要求 ...

最新文章

  1. java正则表达式及api_JAVA常用API:正则表达式regular expression
  2. 第7集 构造函数中抛出的异常
  3. 如何在NEO共识节点间分配任务
  4. python连接plc实例_Python连接数据库MySQL与操作示例
  5. 使用java解析XML文件的步骤
  6. ubuntu的文件路径
  7. 数学分析教程(科大)——2.1笔记+习题
  8. Math数学对象(万能随机数公式)
  9. JavaScript|日期格式化、今天、昨天、明天和某天
  10. 数据仓库实践-拉链表设计
  11. 使用WinRadius服务器软件 搭建 radius 认证
  12. 中国移动数据分析的七点经验
  13. 软件开发之大忌:想当然
  14. css 使盒子之间有间距 两边对齐
  15. Java中grabImage_JavaCV实现将视频以帧方式抽取
  16. 基于汇编语言实现的贪吃蛇游戏设计
  17. PMP章节练习—项目经理的角色
  18. CH344是一款USB总线的转接芯片
  19. 【深度学习】BERT变体—BERT-wwm
  20. QA要具备的七大能力

热门文章

  1. python电脑怎么运行_如何运行python文件
  2. “做我女朋友好吗?”vbs源码
  3. 02.Fabric源码解析---peer命令结构(王雅震)
  4. 大数据工程师要学的编程_每个数据工程师都应了解的ml编程技巧,第2部分
  5. 2021新年腊八祝福语短信
  6. 顶级计算机专家一年赚多少,成为一个计算机专家需要多高的IQ?请实话实说
  7. 电信 IPRAN 设备组网方案_IPRAN 5G典型组网
  8. 项目管理:名词解释、区别联系、案例分析
  9. 实验一:交换机和路由器的基本配置
  10. POE交换机和普通交换机哪里不同?POE交换机和普通交换机哪个好?