日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

HDU 2066 一个人的旅行

發(fā)布時間:2025/4/9 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HDU 2066 一个人的旅行 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

?

http://acm.hdu.edu.cn/showproblem.php?pid=2066

題意:

輸入數(shù)據(jù)有多組,每組的第一行是三個整數(shù)T,S和D,表示有T條路,和草兒家相鄰的城市的有S個,草兒想去的地方有D個。?接著有T行,每行有三個整數(shù)a,b,time,表示a,b城市之間的車程是time小時;(1=<(a,b)<=1000;a,b 之間可能有多條路) 。

?接著的第T+1行有S個數(shù),表示和草兒家相連的城市。

?接著的第T+2行有D個數(shù),表示草兒想去地方。

?

思路:

需要注意一點,a,b可能有多條路,保存最短路。

1 #include<iostream> 2 #include<cstring> 3 #include<string> 4 #include<algorithm> 5 using namespace std; 6 7 #define INF 1000001 8 9 int T, S, D, n; 10 11 int d[1005][1005]; 12 int e[1005]; 13 int vis[1005], num[1005]; 14 15 16 void Dijkstra() 17 { 18 int min, pos; 19 vis[0] = 1; 20 for (int i = 0; i <= n; i++) 21 num[i] = d[0][i]; 22 for (int i = 1; i <= n; i++) 23 { 24 min = INF; 25 for (int j = 1; j <= n; j++) 26 { 27 if (num[j] < min && !vis[j]) 28 { 29 pos = j; 30 min = num[j]; 31 } 32 } 33 if (min == INF) break; 34 vis[pos] = 1; 35 for (int j = 1; j <= n; j++) 36 { 37 if (num[pos] + d[pos][j] < num[j] && !vis[j]) 38 num[j] = num[pos] + d[pos][j]; 39 } 40 } 41 } 42 43 int main() 44 { 45 //freopen("D:\\txt.txt", "r", stdin); 46 int a, b, t; 47 while (~scanf("%d%d%d", &T, &S, &D)) 48 { 49 n = 0; 50 memset(vis, 0, sizeof(vis)); 51 for (int i = 0; i <= 1005; i++) 52 { 53 d[i][i] = 0; 54 for (int j = i + 1; j <= 1005; j++) 55 d[i][j] = d[j][i] = INF; 56 } 57 58 for (int i = 0; i < T; i++) 59 { 60 scanf("%d%d%d", &a, &b, &t); 61 n = max(n, max(a, b)); 62 if (t<d[a][b]) d[a][b] = d[b][a] = t; //這兒需要注意一下,因為兩個點之間可能有多條路徑,保存最短路 63 } 64 65 //把家和0點的距離設(shè)為0,這樣從0出發(fā)肯定最先是家 66 for (int i = 0; i < S; i++) 67 { 68 scanf("%d", &a); 69 d[0][a] = d[a][0] = 0; 70 } 71 72 for (int i = 0; i < D; i++) 73 scanf("%d", &e[i]); 74 75 Dijkstra(); 76 77 int ans = INF; 78 for (int i = 0; i < D; i++) 79 ans = min(ans, num[e[i]]); 80 printf("%d\n", ans); 81 } 82 return 0; 83 }

?

本來是想用Floyd的,但是不行,超時了。

1 #include<iostream> 2 #include<cstring> 3 #include<string> 4 #include<algorithm> 5 using namespace std; 6 7 #define INF 1000001 8 9 int T, S, D; 10 11 int d[1005][1005]; 12 int e[1005]; 13 int vis[1005]; 14 int p[1005]; 15 16 17 int main() 18 { 19 //freopen("D:\\txt.txt", "r", stdin); 20 int a, b, t; 21 while (~scanf("%d%d%d", &T, &S, &D)) 22 { 23 int cnt = 1; 24 for (int i = 0; i <= 1000; i++) 25 { 26 d[i][i] = 0; 27 for (int j = i + 1; j <= 1000; j++) 28 d[i][j] = d[j][i] = INF; 29 } 30 p[0] = 0; 31 for (int i = 0; i < T; i++) 32 { 33 scanf("%d%d%d", &a, &b, &t); 34 if (!vis[a]) 35 { 36 vis[a] = 1; 37 p[cnt++] = a; 38 } 39 if (!vis[b]) 40 { 41 vis[b] = 1; 42 p[cnt++] = b; 43 } 44 if(t < d[a][b]) d[a][b] = d[b][a] = t; 45 } 46 47 for (int i = 0; i < S; i++) 48 { 49 scanf("%d", &a); 50 d[0][a] = 0; 51 d[a][0] = 0; 52 } 53 for (int i = 0; i < D; i++) 54 scanf("%d", &e[i]); 55 56 for (int k = 0; k < cnt; k++) 57 for (int i = 0; i < cnt; i++) 58 for (int j = 0; j < cnt; j++) 59 d[p[i]][p[j]] = min(d[p[i]][p[j]], d[p[i]][p[k]] + d[p[k]][p[j]]); 60 61 62 int ans = INF; 63 for (int j = 0; j < D; j++) 64 ans = min(ans, d[0][e[j]]); 65 printf("%d\n", ans); 66 67 for (int i = 0; i < cnt; i++) 68 vis[p[i]] = 0; 69 } 70 return 0; 71 }

?

轉(zhuǎn)載于:https://www.cnblogs.com/zyb993963526/p/6389442.html

總結(jié)

以上是生活随笔為你收集整理的HDU 2066 一个人的旅行的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产精品乱码久久久久久 | 国产精品一二区在线观看 | 91精品啪在线观看国产线免费 | 精品久久久久久久久久久久久久久久 | 久久久久a | 东京热一区二区三区四区 | 欧美天天射 | av嫩草 | 国产精品91一区 | ⅹxxxxhd亚洲日本hd老师 | 天堂www中文在线资源 | 波多野结衣在线观看一区二区三区 | 欧美黑人一区 | 久久福利在线 | 依人成人综合网 | 大乳巨大乳j奶hd | 午夜在线观看av | 好吊视频一区二区三区四区 | 亚洲国产一区二区在线 | 日本一区二区成人 | 色站综合 | 99热在线这里只有精品 | 精品电影一区二区 | 在线播放一级片 | 少妇系列在线观看 | 淫语视频 | 秋霞视频一区二区 | 国产对白自拍 | 国产伦理在线观看 | 久色视频在线播放 | 免费亚洲视频 | 一级片一区二区三区 | 咪咪色在线视频 | 亚洲欧美一区二区精品久久久 | 国产精品久久久久蜜臀 | 东京热无码av一区二区 | 免费在线观看黄网 | 三级不卡| av资源库 | 男女做爰真人视频直播 | 狼友视频国产精品 | 成人爽站w47pw | 久操久操 | 翔田千里在线播放 | 91微拍| 国产成人av免费 | 99热最新 | 国产精品一区二区三区不卡 | 伦一理一级一a一片 | 成年人在线观看网站 | 亚洲码无人客一区二区三区 | 手机av免费看| 免费观看在线观看 | 国产精品一区在线观看你懂的 | 骚黄网站| 欧美人与动牲交a欧美精品 欧美三级在线看 | 无套白嫩进入乌克兰美女 | 免费网站在线观看人数在哪动漫 | 以女性视角写的高h爽文 | 91成人精品国产刺激国语对白 | 午夜激情福利视频 | 国产又黄又粗又长 | 精品视频免费在线 | 九色九一 | 国产乡下妇女做爰 | 狠狠爱亚洲 | 日本一区二区免费高清视频 | 在线欧美| 精品国产乱码久久久久久久 | 色综合久久久无码中文字幕波多 | 熟妇大屁股一区二区三区视频 | 五月天综合色 | 伊人激情视频 | 日本高清不卡在线观看 | 亚洲av无码专区首页 | 农村老妇性真猛 | 国产精品成人免费 | 欧美高清一区二区 | 欧洲美熟女乱又伦 | 欧美一级专区 | 婷婷黄色网 | 久草视频中文在线 | 欧洲av一区二区三区 | 久久精品在线免费观看 | 激情久久av一区av二区av三区 | 一级黄片毛片 | 亚洲欧洲久久久 | 人人澡人人干 | 日韩电影三级 | 国产成人精品999在线观看 | 日韩av免费在线播放 | 特大巨交吊性xxxx | 国产激情网站 | 亚洲男人的天堂在线视频 | 国产成年人视频网站 | 成人欧美一区二区 | 91天堂网 | 成人黄色免费视频 | 办公室荡乳欲伦交换bd电影 |