社区讨论
并查集82pts求助!
P2835刻录光盘参与者 2已保存回复 1
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @lvwi1gdq
- 此快照首次捕获于
- 2024/05/07 22:41 2 年前
- 此快照最后确认于
- 2024/05/08 15:29 2 年前
CPP
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll m,k,g[100005],gg[205][205],a[100005],aa[205],b,c,s;
ll father(ll x){
if(a[x]==x)return x;
a[x]=father(a[x]);
return a[x];
}
int main(){
cin>>m;
ll mm=m;
for(int i=1;i<=m;i++)
a[i]=i,g[i]=1;
while(mm--){
c++;
b=1;
while(b){
cin>>b;
if(b==0)break;
if(c!=b)a[b]=father(c);
}
}
for(int i=1;i<=m;i++)
{
ll cc=father(i);
aa[cc]=1;
}
for(int i=1;i<=205;i++)
if(aa[i]==1)s++;
cout<<s;
return 0;
}
回复
共 1 条回复,欢迎继续交流。
正在加载回复...