poj 2524 Ubiquitous Religions (并查集)
生活随笔
收集整理的這篇文章主要介紹了
poj 2524 Ubiquitous Religions (并查集)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
題目:http://poj.org/problem?id=2524
題意:問一個(gè)大學(xué)里學(xué)生的宗教,通過問一個(gè)學(xué)生可以知道另一個(gè)學(xué)生是不是跟他信仰同樣的宗教。問學(xué)校里最多可能有多少個(gè)宗教。
也就是給定一個(gè)圖的點(diǎn)數(shù)和相應(yīng)的邊,問有多少個(gè)連通分量。
1 #include<stdio.h> 2 #include<iostream> 3 #include<string.h> 4 5 using namespace std; 6 int bin[50010]; 7 8 int find(int a) 9 { 10 if(bin[a]!=a) 11 return bin[a]=find(bin[a]); 12 }; 13 14 int main() 15 { 16 int n,m,i,a,b,sum,x=1; 17 while(cin>>n>>m&&(n||m)) 18 { 19 sum=n; 20 for(i=1; i<=n; i++) 21 bin[i]=i; 22 23 for(i=1; i<=m; i++) 24 { 25 cin>>a>>b; 26 if(find(a)!=find(b)) 27 { 28 sum--; 29 bin[find(a)]=find(b); 30 } 31 } 32 33 printf("Case %d: %d\n",x,sum); 34 x++; 35 } 36 }
跑時(shí)有點(diǎn)多,4600MS 低空掠過
?
轉(zhuǎn)載于:https://www.cnblogs.com/bfshm/p/3159982.html
總結(jié)
以上是生活随笔為你收集整理的poj 2524 Ubiquitous Religions (并查集)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 继承中类以及成员变量初始化的讨论。
- 下一篇: 【转】多人联机射击游戏中的设计模式应用(