求助为啥全部wa
查看原帖
求助为啥全部wa
239823
真_小强楼主2024/10/8 17:19
#include<bits/stdc++.h>
using namespace std;

const int N = 1000010;

int p[N];

int find(int x)
{
    return p[x]=x?p[x]:p[x]=find(p[x]);
}

int main()
{
    int n;
    while(cin>>n&&n!=0)
    {
        int m;
        cin>>m;
        for(int i=1; i<=n; i++)
            p[i]=i;
        int ans=n;
        while(m--)
        {
            int a,b;
            cin>>a>>b;
            int fa=find(a),fb=find(b);
            if(fa==fb) continue;
            p[fa]=fb;
            ans--;
        }
        cout<<ans-1<<endl;
    }
    return 0;
}
2024/10/8 17:19
加载中...