1799恐怖袭击

题意:给定一个无向图,n个顶点(1 <= n < 1000),m条带权边(1 <= m < 1000000),权值为d(1 <= d < 100),现给定 s个起始点和t个终点(1 <= s, t < 10),求任意一个起点到任意一个终点的最短路程。

  1 #include<iostream>
  2 #include<cstdio>
  3 #include<cstring>
  4 #include<string>
  5 #include<sstream>
  6 #include<algorithm>
  7 #include<cmath>
  8 #include<set>
  9 #include<map>
 10 #include<stack>
 11 #include<queue>
 12 #include<deque>
 13 #include<cstdlib>
 14 #include<cctype>
 15 #include<list>
 16 #include<vector>
 17 using namespace std;
 18 const int INF = 0x7f7f7f7f;
 19 const int MAXN = 1000 + 10;
 20 struct Edge
 21 {
 22     int from_, to_, dist_;
 23     Edge(int from = 0, int to = 0, int dist= 0):from_(from), to_(to), dist_(dist){}
 24 };
 25 struct HeapNode
 26 {
 27     int d_, u_;
 28     HeapNode(int d, int u):d_(d), u_(u){}
 29     bool operator < (const HeapNode& rhs) const
 30     {
 31         return d_ > rhs.d_;
 32     }
 33 };
 34 struct Dijkstra
 35 {
 36     int n, m;
 37     vector<Edge> edges;
 38     vector<int> G[MAXN];
 39     bool done[MAXN];
 40     int d[MAXN];
 41     int p[MAXN];
 42     void init(int n)
 43     {
 44         this -> n = n;
 45         for(int i = 0; i < n; ++i)
 46             G[i].clear();
 47         edges.clear();
 48     }
 49     void AddEdge(int from, int to, int dist)
 50     {
 51         edges.push_back(Edge(from, to, dist));
 52         m = edges.size();
 53         G[from].push_back(m - 1);
 54     }
 55     void dijkstra(int s)
 56     {
 57         priority_queue<HeapNode> Q;
 58         for(int i = 0; i < n; ++i)
 59             d[i] = INF;
 60         d[s] = 0;
 61         memset(done, 0, sizeof done);
 62         Q.push(HeapNode(0, s));
 63         while(!Q.empty())
 64         {
 65             HeapNode x = Q.top();
 66             Q.pop();
 67             int u = x.u_;
 68             if(done[u]) continue;
 69             done[u] = true;
 70             for(int i = 0; i < G[u].size(); ++i)
 71             {
 72                 Edge& e = edges[G[u][i]];
 73                 if(d[e.to_] > d[u] + e.dist_)
 74                 {
 75                     d[e.to_] = d[u] + e.dist_;
 76                     p[e.to_] = G[u][i];
 77                     Q.push(HeapNode(d[e.to_], e.to_));
 78                 }
 79             }
 80
 81         }
 82     }
 83 };
 84 int a[15];
 85 int b[15];
 86 int main()
 87 {
 88     int n, m, s, t;
 89     while(scanf("%d%d%d%d", &n, &m, &s, &t) == 4)
 90     {
 91         if(!n && !m && !s && !t) return 0;
 92         memset(a, 0, sizeof a);
 93         memset(b, 0, sizeof b);
 94         Dijkstra dij;
 95         dij.init(n);
 96         while(m--)
 97         {
 98             int u, v, d;
 99             scanf("%d%d%d", &u, &v, &d);
100             dij.AddEdge(u - 1, v - 1, d);
101             dij.AddEdge(v - 1, u - 1, d);
102         }
103         for(int i = 0; i < s; ++i)
104             scanf("%d", &a[i]);
105         for(int i = 0; i < t; ++i)
106             scanf("%d", &b[i]);
107         int ans = INF;
108         for(int i = 0; i < s; ++i)
109         {
110             dij.dijkstra(a[i] - 1);
111             for(int j = 0; j < t; ++j)
112                 ans = min(ans, dij.d[b[j] - 1]);
113         }
114         if(ans == INF)
115             printf("What a pity!\n");
116         else printf("%d\n", ans);
117     }
118     return 0;
119 }
时间: 2025-01-04 12:05:07

1799恐怖袭击的相关文章

日博365:法国巴黎恐怖袭击震惊演艺圈

日博365 “黑色星期五”晚间法国巴黎遭受恐怖袭击的惨案震惊全球.据日博365的消息,恐怖分子在一家名为Le Petit Cam bodge的餐馆开了枪,并突袭了巴塔克兰剧院(Bataclan),开枪扫射并劫持了人质,同时巴黎的足球场法兰西体育场(Stade de France)也发生爆炸事件.截止到中午,已经有超过120人死亡,这个数字可能还在不断攀升. 这起恐怖袭击令全世界震惊愤慨,同时也波及到了电影圈.据日博365悉,就在周五晚上,史蒂文·斯皮尔伯格正乘机从柏林飞往巴黎,准备在这里举行新片

云杂谈】《公共云被用于黑客和恐怖活动的风险》

2015-11-16 张晓东 东方云洞察 点击上面的链接文字,可以快速关注"东方云洞察"公众号 预计在媒体上我们很快就会看到类似这样的标题:"公共云用来破解政府系统或恐怖袭击." 我相信公有云资源让一切更加便利,那么黑客以及恐怖分子对于云的应用也是正在发生的事情,我们会看到公共云平台的使用越来越广泛的用于各种黑客和犯罪行为. 当我们发现公有云被黑科以及恐怖分子滥用时,我们是否应该去封掉物理服务器?关闭违规的数据中心?隔离上面所有的数据?如果犯罪分子使用和企业相同的云

从俄罗斯恐怖爆炸谈平安城市安防技术

2017年4月3日,在俄罗斯圣彼得堡发生地铁爆炸,造成严重人员伤亡,俄罗斯总检察院也初步认为该爆炸事件为恐怖袭击.这是自2015年从埃及飞往俄罗斯圣彼得堡的客机坠毁以来,又一次发生重大伤亡的事故. 9.11推动反恐成为全世界高度重视和大力投入的一项关乎人类安全的事业,全球对恐怖分子的打击力度越来越大,那如何依托安防技术和监控技术,在反恐技术方面也有个革命性的突破,并以此来维护人类生命和财产安全呢? 在平安城市及智慧城市建设过程中,城市安防系统建设无疑成为防恐反恐的关键一环,而高清智能监控和智能分

为什么国外程序员爱用 Mac?

from http://www.vpsee.com/2009/06/why-programmers-love-mac/ Mac 在国外很受欢迎,尤其是在 设计/web开发/IT 人员圈子里.普通用户喜欢 Mac 可以理解,毕竟 Mac 设计美观,简单好用,没有病毒.那么为什么专业人士也对 Mac 情有独钟呢?从个人使用经验来看我想有下面几个原因: 1.Mac OS X 是基于 Unix 的.这一点太重要了,尤其是对开发人员,至少对于我来说很重要,这意味着Unix 下一堆好用的工具都可以随手捡到.

XCOM2中敌对生物设计分析(Aliens篇)

Aliens Aliens作为游戏设定中入侵的外星人,有各式外貌及奇特的战斗方式,掌握一些高能科技或利用精神力量进行攻击 Sectoid 使用灵能战斗的外星人,并无高级版本,初级便会使用精神控制,生命值较少. 能力:精神控制 召唤僵尸 眩晕目标(闪光弹效果,移动力.命中率大幅降低,无法使用部分能力) 恐慌目标 AI行为模式及策略:防御型 1.选择离玩家单位一定距离的掩体躲避 2.优先使用灵能(召唤僵尸优先级最大) 3.极少使用主武器 设计分析: Aliens中最基础的,定位偏向于“杂兵”的单位,

择行政审批,排第五位。t

担任闭幕大会的执行主席是:徐新楚.刘晓英. 罗陆平.黎四清.李平.方争奇.万五龙.秧励.孔福建.张群望. 以职称外语考试为例,设立20多年来,一直伴随着"一刀切""鸡肋"等质疑.据报道,某作家已经出版发表了几百万字的报告文学.小说和散文,并多次获奖,但由于不能通过外语.计算机考试,迟迟未能获得副高职称(二级作家),一度成为网友热议的话题. 疾控专家表示,活禽市场暴露仍是我省人禽流感主要的感染来源和危险因素.临近春节,活禽交易市场流通及人群的大规模流动,使呼吸道传染病

js - 02课 3

1. 自动生成5条新闻 <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> </head> <body> <input id="btn1" type="button" value="自动生成5条新闻"&

【物联网】相关资料

物联网是新一代信息技术的重要组成部分,也是“信息化”时代的重要发展阶段.其英文名称是:“Internet of things(IoT)”.顾名思义,物联网就是物物相连的互联网.这有两层意思:其一,物联网的核心和基础仍然是互联网,是在互联网基础上的延伸和扩展的网络:其二,其用户端延伸和扩展到了任何物品与物品之间,进行信息交换和通信,也就是物物相息.物联网通过智能感知.识别技术与普适计算等通信感知技术,广泛应用于网络的融合中,也因此被称为继计算机.互联网之后世界信息产业发展的第三次浪潮.物联网是互联

物联网

物联网 [1]  物联网是新一代信息技术的重要组成部分,也是“信息化”时代的重要发展阶段.其英文名称是:“Internet of things(IoT)”.顾名思义,物联网就是物物相连的互联网.这有两层意思:其一,物联网的核心和基础仍然是互联网,是在互联网基础上的延伸和扩展的网络:其二,其用户端延伸和扩展到了任何物品与物品之间,进行信息交换和通信,也就是物物相息.物联网通过智能感知.识别技术与普适计算等通信感知技术,广泛应用于网络的融合中,也因此被称为继计算机.互联网之后世界信息产业发展的第三次