HDU

来源:互联网 发布:爽肤水怎么用 知乎 编辑:程序博客网 时间:2024/06/14 09:47

题目大意:

并查集魔板题。

代码:

#include<iostream>#include<math.h>#include<stdio.h>#include<string.h>#define maxn 1500using namespace std;int test;int n,m;int boss[maxn];void init(){    for(int i=0;i<maxn;i++)    {        boss[i]=i;    }}void add(int a,int b){    if(boss[a]==a&&boss[b]==b)    {        boss[a]=b;        return;    }    boss[a]=boss[boss[a]];    boss[b]=boss[boss[b]];    add(boss[a],boss[b]);}int main(){    cin>>test;    while(test--)    {        init();        cin>>n>>m;        for(int i=1;i<=m;i++)        {            int a,b;            cin>>a>>b;            add(a,b);        }        int s=0;        for(int i=1;i<=n;i++)        {            if(boss[i]==i)            {                s++;            }        }        cout<<s<<endl;    }}
0 0
原创粉丝点击