POJ 1611 The Suspects
生活随笔
收集整理的這篇文章主要介紹了
POJ 1611 The Suspects
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
題意:說有n個學生,m個小組,然后0號童鞋感染了sars,跟感染者一組的也認為是感染者了,問一共多少感染者。
?
解法:并查集……
?
代碼:
#include<stdio.h> #include<iostream> #include<algorithm> #include<string> #include<string.h> #include<math.h> #include<limits.h> #include<time.h> #include<stdlib.h> #include<map> #include<queue> #include<set> #include<stack> #include<vector> #define LL long long using namespace std; int father[30005]; int Find(int a) {if(father[a] != a)father[a] = Find(father[a]);return father[a]; } void Union(int a, int b) {int c = Find(a), d = Find(b);father[c] = d; } int main() {int n, m;while(~scanf("%d%d", &n, &m) && !(n == 0 && m == 0)){for(int i = 0; i < n; i++)father[i] = i;while(m--){int k;scanf("%d", &k);int x;if(k--) scanf("%d", &x);while(k--){int y;scanf("%d", &y);Union(x, y);}}int root = Find(0);int ans = 0;for(int i = 0; i < n; i++){if(Find(i) == root)ans++;}printf("%d\n", ans);}return 0; }
轉載于:https://www.cnblogs.com/Apro/p/4776858.html
總結
以上是生活随笔為你收集整理的POJ 1611 The Suspects的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python 闭包(closure)
- 下一篇: (巴什博弈 sg函数入门1) Brav