HDU 4496 D-City

来源:互联网 发布:java大数据框架 编辑:程序博客网 时间:2024/06/07 14:22

2013年通化邀请赛D题

基础并查集

#include<bits/stdc++.h>using namespace std;int f[10020];int sum;int u[100020],v[100020],ans[100020];int find(int x){    if(f[x]!=x)        f[x]=find(f[x]);    return f[x];}void make(int a,int b){    int f1=find(a);    int f2=find(b);    if(f1!=f2)    {        f[f2]=f1;        sum--;    }}int main(){    int N,M;    while(scanf("%d%d",&N,&M)==2)    {        for(int i=1;i<=M;i++)            scanf("%d%d",&u[i],&v[i]);        for(int i=0;i<N;i++)            f[i]=i;        sum=N;        for(int i=M;i>=2;i--)        {            make(u[i],v[i]);            ans[i-1]=sum;        }        ans[M]=N;        for(int i=1;i<=M;i++)            printf("%d\n",ans[i]);    }    return 0;  }



0 0
原创粉丝点击