poj 2492A Bug's Life(并查集)

 1 /*
 2 目大意:輸入一個數t,表示測試組數。然后每組第一行兩個數字n,m,n表示有n只昆蟲,編號從1—n,m表示下面要輸入m行交配情況,每行兩個整數,表示這兩個編號的昆蟲為異性,要交配。
 3 要求統計交配過程中是否出現沖突,即是否有兩個同性的昆蟲發生交配。
 4 
 5 思路:并查集
 6    將同性的昆蟲放入集合之中,如果輸入的昆蟲u, v同時出現在了集合中,那么 u,v就是同性的!發生了同性交配的可能!
 7 */
 8 
 9 #include <string>
10 #include <cstdio>
11 #include <cstring>
12 #include <iostream>
13 
14 
15 
16 using namespace std;
17 int n, m;
18 int f[2010];
19 int  mark[2010];//mark[i]表示 與 i 交配的昆蟲的編號!
20 
21 int getFather(int x){
22    return x==f[x] ? x : f[x]=getFather(f[x]);
23 }
24 
25 void Union(int a, int b){
26     int fa=getFather(a), fb=getFather(b);
27     if(fa!=fb)
28        f[fa]=fb;
29 }
30 
31 int main(){
32    int t, cnt=0;
33    scanf("%d", &t);
34    while(t--){
35       
36           scanf("%d%d", &n, &m);
37           for(int i=1; i<=n; ++i)
38           f[i]=i;
39       memset(mark, 0, sizeof(mark));
40       int flag=1;
41       while(m--){
42              int u, v;
43          scanf("%d%d", &u, &v);
44          if(flag){
45             if(getFather(u) == getFather(v)){
46                flag=0;
47                            continue;
48              }   
49                         if(!mark[u] && !mark[v]){
50                    mark[u]=v;
51                    mark[v]=u;
52                  }
53                 else if(!mark[u]){
54                    mark[u]=v;
55                    Union(u, mark[v]); //如果v配對了,u沒有配對,那么u和mark[v]就是同性昆蟲,放入集合之中
56             }
57                  else if(!mark[v]){
58                    mark[v]=u;        
59                    Union(v,mark[u]);//,,,,,,
60                 }
61                else{ 
62                   Union(u, mark[v]);//如果之前u和v都已經配對,現在u和v進行配對, 那么u和mark[v]是同性, v和mark[u]是同性!
63               Union(v, mark[u]);
64                }
65          }
66       }
67       printf("Scenario #%d:\n",++cnt);
68         if (flag==1) 
69             printf("No suspicious bugs found!\n");
70         else
71             printf("Suspicious bugs found!\n");
72         printf("\n");
73    }
74 }

?

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

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

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

相關文章

mysql 有外鍵 怎么插入數據_外鍵約束的表怎么插入數據

有外鍵的情況應該先添加主表數據&#xff0c;再添加副表數據。如&#xff1a;有以下兩張表班級表&#xff1a;CLASSID NAME1 一班2 二班學生表&#xff1a;SID NAME CLASSID1 張三 12 李四 13 王五 2其中學生表中的CLASSID是班級表CLASSID的外鍵。現在要求在學生表中添加一條SI…

計算機在崗位上的應用,計算機崗位應用論文.doc

計算機崗位應用論文計算機崗位應用論文計算機崗位應用論文計算機崗位應用論文計算機崗位應用論文進入到新世紀以來,隨著我國國民經濟水平的提升,我國的計算機也得到了迅速的發展,計算機應用技術也已經廣泛的應用到了各個行業中,并且計算機應用技術對于促進這些行業的快速發展也…

poj1703Find them, Catch them(并查集以及路徑壓縮)

1 /*2 題目大意&#xff1a;有兩個不同的黑幫&#xff0c;開始的時候不清楚每個人是屬于哪個的&#xff01;3 執行兩個操作4 A a, b回答a, b兩個人是否在同一幫派&#xff0c;或者不確定5 D a, b表示a, b兩個人不在同一個幫派6 7 思路&#xff1a;利用并查集將相同幫…

計算機課程word教學,Word教學方法及使用技巧

Word教學方法及使用技巧來源:用戶上傳作者: 李志愛【摘 要】Word是一款實用的、簡單的具有編輯、排版、處理各種表格與圖片等功能的文字處理軟件。本文就教學中會采用的一些Word的教學方法進行了簡單的介紹與分析&#xff0c;并以泰山版初中計算機的教學計劃為例&#xff0c;重…

poj2186Popular Cows(Kosaraju算法--有向圖的強連通分量的分解)

1 /*2 題目大意&#xff1a;有N個cows, M個關系3 a->b 表示 a認為b popular&#xff1b;如果還有b->c, 那么就會有a->c 4 問最終有多少個cows被其他所有cows認為是popular&#xff01;5 6 思路&#xff1a;強連通分量中每兩個節點都是可達的&#xff…

yum刪除mysql數據庫_MySQL數據庫之Centos中徹底刪除Mysql(rpm、yum安裝的情況)

本文主要向大家介紹了MySQL數據庫之Centos中徹底刪除Mysql(rpm、yum安裝的情況) &#xff0c;通過具體的內容向大家展現&#xff0c;希望對大家學習MySQL數據庫有所幫助。我用的centos6&#xff0c;mysql讓我整出了各種問題&#xff0c;我想重裝一個全新的mysql&#xff0c;yum…

計算機視覺領域常見期刊和會議,計算機視覺領域常見期刊和會議

會議&#xff1a;ICCV&#xff1a; IEEE International Conference on Computer Vision(每兩年舉辦一次&#xff0c;由IEEE主辦&#xff0c;百度百科&#xff1a;https://baike.baidu.com/item/iccv/7054436?fraladdin&#xff0c;ICCV 2017&#xff1a;http://iccv2017.thecv…

mysql怎么新增_mysql怎么新增用戶

匿名用戶1級2018-01-27 回答展開全部首先以root身份登錄到MySQL服務器中。$ mysql -u root -p當驗證提示出現的時候&#xff0c;輸入MySQL的root帳號的密碼。創建一個MySQL用戶使用如下命令創建一個用戶名和密碼分別為"myuser"和"mypassword"的用戶。mysql…

江西財經大學計算機排名2019,2019年全國商科院校評價報告出爐 江西財經大學排名第七...

中國江西網/江西頭條新聞客戶端訊 記者鄭周贇報道&#xff1a;6月5日&#xff0c;江西財經大學應用統計研究中心發布了2019年全國商科院校評價報告&#xff0c;江西財經大學在46所指標數據完整的商科院校中綜合得分排名第七。該報告權衡了指標的完備性和可獲得性&#xff0c;確…

Uvaoj10054 - The Necklace

1 /*2 題意&#xff1a;打印歐拉回路&#xff01;3 思路&#xff1a;開始時不明白&#xff0c;dfs為什么是后序遍歷&#xff1f; 4 因為歐拉回路本身是一條回路&#xff0c;那么我們在dfs時&#xff0c;可能存在提前找到回路&#xff0c;這條回路可能不是歐拉回路&…

w7計算機應用放大按鍵,Win7窗口最大化和最小化快捷鍵是什么

Win7窗口最大化和最小化快捷鍵是什么Win7有很多快捷鍵&#xff0c;你都知道多少呢&#xff1f;今天小編給大家科普的是win7窗口最大化和最小化快捷鍵&#xff0c;下面就一起來了解看看吧&#xff01;Windows 鍵 方向鍵“↑”使當前使用的窗口最大化。Windows 鍵 方向鍵“↓”…

s7-1200跟mysql_讓西門子S7-1200直接連接MySQL數據庫!!!

最近項目上有個需求&#xff0c;要把采集的數據存儲到數據庫中&#xff0c;當前西門子有很多方法&#xff0c;必讀IDB&#xff0c;還有通過WINCC的腳本&#xff0c;第三方的軟件等等&#xff0c;但是隨著發展&#xff0c;有些需求希望設備直接到數據庫&#xff0c;比如云端的RD…

uva oj 567 - Risk(Floyd算法)

1 /*2 一張有20個頂點的圖上。3 依次輸入每個點與哪些點直接相連。4 并且多次詢問兩點間&#xff0c;最短需要經過幾條路才能從一點到達另一點。5 6 bfs 水過7 */8 #include<iostream>9 #include<cstring> 10 #include<vector> 11 #include<cstdio> 12…

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;數…