CodeForces 25D Roads not only in Berland

题意:给你N个点,N-1条边,通过删边建边将图变成一棵树,注:删边==建边。

分析:水题,并查集就行。

代码:

#include
#include
#include
using namespace std;
const int maxn = 1010;
int pa[maxn];
struct Node{
    int u,v;
}cut[maxn];
int Find(int x){
    if(x!=pa[x]){
        pa[x]=Find(pa[x]);
    }
    return pa[x];
}
void Union(int a,int b){
    int x=Find(a);
    int y=Find(b);
    pa[x]=y;
}
int main(){
    int n;
    while(~scanf("%d",&n)){
        int ans=0;
        for(int i=0;i<=n;i++){
            pa[i]=i;
        }
        for(int i=0;i


你可能感兴趣的:(并查集)