WA 2 19分 求助
查看原帖
WA 2 19分 求助
1008614
Juan2012楼主2024/5/12 22:31
#include <bits/stdc++.h>
using namespace std;
const int N=100005;
int n,b,sl;
bool f[N];
vector<int>v[N];
void dfs(int x){
	for(int i=0;i<v[x].size();i++){
		if(f[v[x][i]]==false){
			f[v[x][i]]=true;
			dfs(v[x][i]);
		}
	}
}
int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		while(true){
			scanf("%d",&b);
			if(b==0) break;
			v[i].push_back(b);
		}
	}
	for(int i=1;i<=n;i++){
		if(f[i]==false){
			sl++;
			dfs(i);
		}
	}
	cout<<sl;
	return 0;
}

只过了 #4 #12 #1,求助大佬!!!

2024/5/12 22:31
加载中...