题目1526:朋友圈

来源:互联网 发布:乔任梁 王思聪 知乎 编辑:程序博客网 时间:2024/04/29 22:01
#include <iostream>#include <fstream>#include <cstring>using namespace std;const int N = 100010;int p[N];int find(int x);int main(){    int n, m;    int u, v;    #ifndef ONLINE_JUDGE        ifstream cin("d:\\OJ\\uva_in.txt");    #endif // ONLINE_JUDGE    while (cin >> n, n) {        cin >> m;        memset(p, -1, sizeof(int) * n);        for (int i = 0; i < m; i++) {            cin >> u >> v;            u--, v--;            int pu = find(u), pv = find(v);            if (pu != pv) {                p[pv] = pu;            }        }        int ans = 0;        for (int i = 0; i < n; i++) {            if (p[i] < 0) ans++;        }        cout << ans << endl;    }    return 0;}int find(int x){    return p[x] < 0 ? x : (p[x] = find(p[x]));}

0 0
原创粉丝点击