uva oj 567 - Risk(Floyd算法)

 1 /*
 2 一張有20個頂點的圖上。
 3 依次輸入每個點與哪些點直接相連。
 4 并且多次詢問兩點間,最短需要經過幾條路才能從一點到達另一點。
 5 
 6 bfs 水過
 7 */
 8 #include<iostream>
 9 #include<cstring>
10 #include<vector>
11 #include<cstdio>
12 #include<queue>
13 using namespace std;
14 
15 struct node{
16    int x, step;
17    node(){
18    
19    }
20    node(int x, int step){
21       this->x=x;
22       this->step=step;
23    }
24 }; 
25 
26 
27 vector<int>v[25]; 
28 queue<node>q;
29 int vis[25];
30 
31 
32 int b, e;
33 
34 void bfs(){
35    while(!q.empty())  q.pop();
36    node cur;
37    q.push(node(b, 0));
38    while(!q.empty()){
39        cur=q.front();
40        q.pop();
41        if(cur.x==e){
42            printf("%2d to %2d: %d\n", b, e, cur.step);
43            return;
44        }
45        int len=v[cur.x].size();
46        for(int i=0; i<len; ++i){
47              if(v[cur.x][i]==e){
48              printf("%2d to %2d: %d\n", b, e, cur.step+1);
49              return;
50           }
51           if(!vis[v[cur.x][i]]){
52                vis[v[cur.x][i]]=1;
53              q.push(node(v[cur.x][i], cur.step+1));
54           } 
55        }
56    }
57 }
58 
59 int main(){
60     int n, u;
61     int cnt=0;
62     while(scanf("%d", &n)!=EOF){
63         while(n--){
64            scanf("%d", &u);
65            v[1].push_back(u);
66            v[u].push_back(1);
67         }
68         for(int i=2; i<=19; ++i){
69            scanf("%d", &n);
70            while(n--){
71               scanf("%d", &u);
72               v[i].push_back(u);
73               v[u].push_back(i);
74            }
75         }
76         scanf("%d", &n);
77         printf("Test Set #%d\n", ++cnt);
78         while(n--){
79            scanf("%d%d", &b, &e) ;
80            bfs();
81            memset(vis, 0, sizeof(vis));
82         }
83         printf("\n");
84         for(int i=1; i<=20; ++i)
85            v[i].clear();
86            
87     } 
88     return 0;
89 }
 1 /*
 2    Floyd 才是正解!
 3 */
 4 #include<iostream>
 5 #include<cstring>
 6 #include<vector>
 7 #include<cstdio>
 8 #include<queue>
 9 #define INF 0x3f3f3f3f
10 using namespace std;
11 
12 int map[25][25];
13 
14 void Folyd(){
15    for(int k=1; k<=20; ++k)
16       for(int i=1; i<=20; ++i)
17          for(int j=1; j<=20; ++j)
18             if(map[i][j] > map[i][k] + map[k][j])
19                map[i][j] = map[i][k] + map[k][j];
20 }
21 
22 
23 int main(){
24     int n, u, b, e;
25     int cnt=0;
26     while(scanf("%d", &n)!=EOF){
27         memset(map, 0x3f, sizeof(map));
28         while(n--){
29            scanf("%d", &u);
30            map[1][u]=map[u][1]=1;
31         }
32         for(int i=2; i<=19; ++i){
33            scanf("%d", &n);
34            while(n--){
35               scanf("%d", &u);
36               map[u][i]=map[i][u]=1;
37            }
38         }
39         scanf("%d", &n);
40         printf("Test Set #%d\n", ++cnt);
41         Folyd();
42         while(n--){
43            scanf("%d%d", &b, &e) ;
44            printf("%2d to %2d: %d\n", b, e, map[b][e]);
45         }
46         printf("\n");
47     }
48 }

?

?

轉載于:https://www.cnblogs.com/hujunzheng/p/3898362.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/531791.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/531791.shtml
英文地址,請注明出處:http://en.pswp.cn/news/531791.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

10034 - Freckles 克魯斯克爾最小生成樹!~

1 /*2 10034 - Freckles3 克魯斯克爾最小生成樹&#xff01;&#xff5e; 4 */5 #include<iostream>6 #include<cstdio>7 #include<cmath>8 #include<algorithm>9 using namespace std; 10 11 struct node{ 12 double x, y; 13 }; 14 15 struct t…

win7個人計算機的ip地址,win7計算機ip地址查詢_win7本機ip地址查詢

2016-12-09 11:40:21查找計算機的ip地址的方法&#xff1a;點擊你的電腦桌面左下角的“開始”找到“運行”點擊運行, 在出現的對話框里面輸入“cmd” 點擊確定然后就會出現一個黑色的命令行窗口,你會看到“&...2016-12-19 15:59:44手機設置靜態IP 1、點設置-線網絡 2、WLAN…

最全的mysql 5.7.13_最全的mysql 5.7.13 安裝配置方法圖文教程(linux) 強烈推薦!

linux環境Mysql 5.7.13安裝教程分享給大家&#xff0c;供大家參考&#xff0c;具體內容如下1系統約定安裝文件下載目錄&#xff1a;/data/softwareMysql目錄安裝位置&#xff1a;/usr/local/mysql數據庫保存位置&#xff1a;/data/mysql日志保存位置&#xff1a;/data/log/mysq…

iis 日志 post數據_云原生日志的趨勢(1):logscape和logiq

作為日志產品的PM&#xff0c;跟進國內外日志產品動向是個長期工作。這幾天翻新一些歷史記錄&#xff0c;發現logscape自2017年開源以來&#xff0c;突然2019年10月又更新了一會。于是順著翻翻logscape的github賬號&#xff0c;起了興致來寫點文字。https://github.com/logscap…

Uvaoj 10048 - Audiophobia(Floyd算法變形)

1 /*2 題目大意&#xff1a;3 從一個點到達另一個點有多條路徑&#xff0c;求這多條路經中最大噪音值的最小值&#xff01; 、4 5 思路&#xff1a;最多有100個點&#xff0c;然后又是多次查詢&#xff0c;想都不用想&#xff0c;Floyd算法走起&#xff01; 6 …

南通大學計算機系本二,2012年南通大學計算機科學與技術學院江蘇省內第二批本科(院校代碼:1301)...

第二批本科(院校代碼&#xff1a;1301)序號專 業 名 稱學制科類計劃數1漢語言文學(師范)四文科552漢語言文學(高級文秘)四文科803廣播電視新聞學四文科304對外漢語四文科285歷史學(師范)四文科306思想政治教育(師范)四文科207社會工作四文科258行政管理四文科459公共事業管理四…

大學計算機基礎總結,大學計算機基礎第二章總結

數&#xff1a;計算機的數據的基本形態是二進制數數制&#xff1a;可以直接進行數學計算數字碼制&#xff1a;用來表示不同對象屬性● 數制(計數體制)多位數中每一位的構成方法以及實現從低位到高位的進位規則(也叫做進制)▲ 常用數制&#xff1a;R進制有R個數碼&#xff0c;數…

UvaOJ10369 - Arctic Network

1 /*2 The first line of each test case contains 1 < S < 100, the number of satellite channels!3 注意&#xff1a;S表示一共有多少個衛星&#xff0c;那么就是有 最多有S-1個通道&#xff01; 然后將最小生成樹中的后邊的 S-1通道去掉就行了&#xff01; 4…

獲取list泛型_泛型

泛型什么是泛型&#xff1f;為什么使用泛型&#xff1f;泛型的出現意味著編寫的代碼可以被不同類型的對象所重用&#xff0c;提升了代碼的重用性。泛型的本質是參數化類型&#xff0c;即將所需操作的數據類型設置為一個參數。 舉個實際中的栗子&#xff1a;我們需要設計一個柜子…

w10計算機字體怎么設置在哪里設置,如何設置修改win10系統電腦的顯示字體

如何設置修改win10系統電腦的顯示字體騰訊視頻/愛奇藝/優酷/外賣 充值4折起今天給大家介紹一下如何設置修改win10系統電腦的顯示字體的具體操作步驟。1. 首先鼠標左鍵開始&#xff0c;然后在菜單下的左下角選擇設置圖標。2. 進入Windows 設置后&#xff0c;單擊個性化。3. 接著…

uva 10801 - Lift Hopping(最短路Dijkstra)

1 /*2 題目大意&#xff1a;3 就是一幢大廈中有0&#xff5e;99的樓層, 然后有1&#xff5e;5個電梯&#xff01;每個電梯有一定的上升或下降速度和樓層的停止的位置&#xff01;4 問從第0層樓到第k層最少經過多長時間到達&#xff01;5 6 思路&#x…

powerdesigner mysql 自增主鍵_PowerDesigner Mysql 主鍵自增、初始值、字符集

自增在你所要設為自增型的鍵上(比如你的id)雙擊&#xff0c;彈出一個Column Properties對話框&#xff0c;右下角有一個Identify的選擇框&#xff0c;選中它OK&#xff0c;就可以了。 再去查看Preview&#xff0c;就能看到AUTO_INCREMENT。起始值默認自增字段從1開始, 如果需要…

計算機設置從u盤啟動怎么辦,電腦設置從u盤啟動盤啟動出現藍屏該怎么解決?

電腦設置從u盤啟動藍屏怎么辦?我們在電腦遇到系統等問題時&#xff0c;經常會選擇使用u盤重裝系統&#xff0c;這種重裝方式可以說是目前最便捷實用的了。但是最近又有用戶反映將U盤設置為第一啟動項后&#xff0c;電腦沒辦法從u盤啟動&#xff0c;出現了藍屏的情況&#xff0…

NYOJ 99單詞拼接(有向圖的歐拉(回)路)

1 /*2 NYOJ 99單詞拼接:3 思路&#xff1a;歐拉回路或者歐拉路的搜索&#xff01;4 注意&#xff1a;是有向圖的&#xff01;不要當成無向圖&#xff0c;否則在在搜索之前的判斷中因為判斷有無導致不必要的搜索&#xff0c;以致TLE!5 有向圖的歐拉路&#xff1a;ab…

mysql 過程和函數_MySQL:存儲過程和函數

變量系統變量變量由系統提供&#xff0c;不是用戶自定義的&#xff0c;屬于服務器層面全局變量會話變量# 如果是全局級別&#xff0c;則需要加global&#xff0c;如果是會話級別&#xff0c;則需要加session&#xff0c;如果不寫&#xff0c;則默認是會話# 查看全局變量SHOW GL…

python修改服務器ip,[python+Bat]讀表修改機房IP

[Shell] 純文本查看 復制代碼拷貝一下腳本到.bat文件&#xff0c;雙擊運行即可&#xff0c;有交互式提示輸入新的計算機名 ECHO OFFcolor 0AECHO ----------------------------------------------------------------------------ECHO.ECHO 版權所有 copyright of ECHO.ECHO ~~~…

hdu 1811Rank of Tetris (并查集 + 拓撲排序)

1 /*2 題意&#xff1a;這些信息可能有三種情況&#xff0c;分別是"A > B","A B","A < B"&#xff0c;分別表示A的Rating高于B,等于B,小于B。3 4 現在Lele并不是讓你來幫他制作這個高手榜&#xff0c;他只是想知道&#xff0c;根據這…

ambari mysql jar_從零開始安裝 Ambari (3) -- 安裝 Ambari

1. 安裝yum -y install ambari-server2. ambari server 需要一個數據庫存儲元數據&#xff0c;默認使用的 Postgres 數據庫。默認的用戶名和密碼是&#xff1a; ambari/bigdata 。但是一般情況下&#xff0c;后面還要安裝 hive 和 Ranger&#xff0c;也需要一個存元數據的數據庫…

服務器2012系統在dos卸載,Windows系統下徹底刪除Windows.old 文件夾的方法

系統是直接硬盤安裝的&#xff0c;導致c盤產生了舊系統的文件夾Windows.old&#xff0c;占用很大的磁盤空間&#xff0c;刪也刪不掉&#xff0c;咋辦&#xff1f;不要緊&#xff0c;下面大神來教你神操作&#xff01;&#xff01;&#xff01;1、打開“計算機”&#xff0c;選擇…

hdu3635 Dragon Balls(帶權并查集)

1 /*2 題意&#xff1a;有N個城市&#xff0c; 每一個城市都有一個龍珠&#xff08;編號與城市的編號相同&#xff09;&#xff0c;有兩個操作3 T A ,B 將標號為A龍珠所在城市的所有的龍珠移動到B龍珠所在城市中&#xff01; 4 5 思路&#xff1a;并查集 &#xff…