@[bloodstalk](/user/231543) 我帮你看看,你先看着我一万年前写的搜索
```cpp
#include<bits/stdc++.h>
using namespace std;
int a[201][201],b[201];
int n,x,tot;
int i;
int dfs(int j)
{
if(b[j]==i) return 0;
b[j]=i;
for(int k=1;k<=a[j][0];++k)
dfs(a[j][k]);
}
int main()
{
cin>>n;
for(i=1;i<=n;++i)
{
while(cin>>x)
{
if(x==0) break;
a[i][++a[i][0]]=x;
}
}
for(i=1;i<=n;++i)
{
if(b[i]==0) dfs(i);
}
for(i=1;i<=n;++i)
{
if(b[i]==i) tot++;
}
cout<<tot<<endl;
return 0;
}
```
by Fleeing_loser @ 2022-05-10 10:48:56
P2835是[这题](https://www.luogu.com.cn/problem/P2746)
的弱化版。
by Fleeing_loser @ 2022-05-10 10:54:35
你看看这组数据
2
2 0
1 0
by scallion @ 2022-05-21 19:36:54
@[bloodstalk](/user/231543) 我和你的思路一样也是wa了9 11
by 错码编程师 @ 2022-06-01 17:09:17