道路重建

题面

spfa(或digstra)一遍过

 1 #include<cstdio>
 2 #include<cstring>
 3 using namespace std;
 4 int p[1001][1001];
 5 int g[1001][1001];
 6 int n,m,x,y,k1,d,a,b,ans;
 7 int main(){
 8     int i,k,j;
 9     scanf("%d%d",&n,&m);
10     memset(g,0x3f,sizeof(g));
11     for(i=1;i<=m;i++){
12         scanf("%d%d%d",&x,&y,&k1);
13         p[x][y]=p[y][x]=k1;
14         g[x][y]=g[y][x]=0;
15     }
16     scanf("%d",&d);
17     for(i=1;i<=d;i++){
18         scanf("%d%d",&x,&y);
19         g[x][y]=g[y][x]=p[x][y];
20     }
21     for(k=1;k<=n;k++){
22         for(i=1;i<=n;i++){
23             for(j=1;j<=n;j++){
24                 if(g[i][j]>g[i][k]+g[k][j]){
25                     g[i][j]=g[i][k]+g[k][j];
26                 }
27             }
28         }
29     }
30     scanf("%d%d",&a,&b);
31     printf("%d",g[a][b]);
32 }

原文地址:https://www.cnblogs.com/ainiyuling/p/11149651.html

时间: 2024-10-15 10:57:03

道路重建的相关文章

道路重建(拓扑+贪心)

道路重建(拓扑+贪心) 一.题目 道路重建 时间限制: 1 Sec  内存限制: 128 MB 提交: 9  解决: 6 [提交][状态][讨论版] 题目描述 现在有一棵n个结点的树(结点从1到n编号),请问至少要删除几条边,才能得到一个恰好有p个结点的子树? 输入 第一行输入两个数n和p (1 <= n<= 150, 1 <= p<= n) 接下来输入n-1行,每行两个整数x y,表示x和y之间有一条边. 输出 输出答案. 样例输入 11 6 1 2 1 3 1 4 1 5 2

洛谷——P3905 道路重建

P3905 道路重建 题目描述 从前,在一个王国中,在n个城市间有m条道路连接,而且任意两个城市之间至多有一条道路直接相连.在经过一次严重的战争之后,有d条道路被破坏了.国王想要修复国家的道路系统,现在有两个重要城市A和B之间的交通中断,国王希望尽快的恢复两个城市之间的连接.你的任务就是修复一些道路使A与B之间的连接恢复,并要求修复的道路长度最小. 输入输出格式 输入格式: 输入文件road.in,第一行为一个整数n(2<n≤100),表示城市的个数.这些城市编号从1到n.第二行为一个整数m(n

洛谷 P3905 道路重建

P3905 道路重建 题目描述 从前,在一个王国中,在n个城市间有m条道路连接,而且任意两个城市之间至多有一条道路直接相连.在经过一次严重的战争之后,有d条道路被破坏了.国王想要修复国家的道路系统,现在有两个重要城市A和B之间的交通中断,国王希望尽快的恢复两个城市之间的连接.你的任务就是修复一些道路使A与B之间的连接恢复,并要求修复的道路长度最小. 输入输出格式 输入格式: 输入文件road.in,第一行为一个整数n(2<n≤100),表示城市的个数.这些城市编号从1到n.第二行为一个整数m(n

道路重建 (2018山东冬令营)

问题 C: 道路重建 时间限制: 1 Sec  内存限制: 128 MB提交: 67  解决: 24[提交][状态][讨论版] 题目描述 小L的家乡最近遭遇了一场洪水,城市变得面目全非,道路也都被冲毁了.生活还要继续,于是市政府决定重建城市中的道路. 在洪水到来前,城市中共有n个区域和m条连接这些区域的双向道路, 道路连通了所有的区域,为了方便人们的出行,只能重建这些原有的道路, 不能建新的道路.编号为s的区域是市政广场,市政府希望重建的道路能够 使得所有区域到市政广场的最短路与受灾前保持不变,

动归题目

[POJ1141]括号序列 [POJ1191]棋盘分割 [SPOJ196]决斗 [AOA]跳舞机 [AOA]积木游戏 [AOA]艺术馆的火灾 [AOA]机器人的名字 [UVa10559]方块消除 [AOA]公路巡逻 [POJ1074]并行期望值 [AOA]高性能计算机 [AOA]模板匹配 [AOA]不可解码的编码 [AOA]青蛙的烦恼 [AOA]排列问题 [AOA]最优排序二叉树 [POJ1038] Bugs公司 [UVa10531]迷宫统计 [AOA]贪吃的九头龙 [AOA]快乐的蜜月 [AO

推荐题目

二分 P2678 跳石头 P2440 木材加工 P1873 砍树 P1577 切绳子 P1824 进击的奶牛 P1316 丢瓶盖 UVA1555 Garland P1257 平面上的最接近点对 P1429 平面最近点对(加强版)(未完成) P1182 数列分段"Section II" P1281 书的复制(二分做法和上题一样,只是输出值变成了输出划分方式) 递推 P2386 放苹果 P1025 数的划分 DP&&MS P1091 合唱队形 P1140 相似基因 P144

P1272 重建道路

P1272 重建道路 题目描述 一场可怕的地震后,人们用N个牲口棚(1≤N≤150,编号1..N)重建了农夫John的牧场.由于人们没有时间建设多余的道路,所以现在从一个牲口棚到另一个牲口棚的道路是惟一的.因此,牧场运输系统可以被构建成一棵树.John想要知道另一次地震会造成多严重的破坏.有些道路一旦被毁坏,就会使一棵含有P(1≤P≤N)个牲口棚的子树和剩余的牲口棚分离,John想知道这些道路的最小数目. 输入输出格式 输入格式: 第1行:2个整数,N和P 第2..N行:每行2个整数I和J,表示

P1272 重建道路(树形dp)

P1272 重建道路 题目描述 一场可怕的地震后,人们用N个牲口棚(1≤N≤150,编号1..N)重建了农夫John的牧场.由于人们没有时间建设多余的道路,所以现在从一个牲口棚到另一个牲口棚的道路是惟一的.因此,牧场运输系统可以被构建成一棵树.John想要知道另一次地震会造成多严重的破坏.有些道路一旦被毁坏,就会使一棵含有P(1≤P≤N)个牲口棚的子树和剩余的牲口棚分离,John想知道这些道路的最小数目. 输入输出格式 输入格式: 第1行:2个整数,N和P 第2..N行:每行2个整数I和J,表示

[Usaco2002 Feb]Rebuilding Roads重建道路

题目描述 一场可怕的地震后,奶牛用N个牲口棚(1 <= N <= 150,编号1..N)重建了农民John的牧场.奶牛没有时间建设多余的道路,所以现在从一个牲口棚到另一个牲口棚的道路是唯一的.因此,牧场运输系统可以被构建成一棵树.John想要知道另一次地震会造成多严重的破坏.有些道路一旦被毁坏,就会使一棵含有P(1 <= P <= N)个牲口棚的子树和剩余子牲口棚分离,John想知道这些道路的最小数目. 输入格式 第1行:2个整数, N和P 第2..N行:每行2个整数I和J,表示节