玄2关求条
查看原帖
玄2关求条
1571162
封禁用户楼主2025/8/2 21:59
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define uint unsigned long long
#define speed ios::sync_with_stdio(0),cin.tie(0), cout.tie(0);
int n,ans;
bool f[201];
vector<int>tree[201];
void bfs(int x){
	queue<int>q;
	q.push(x);
	while(!q.empty()){
		int ft=q.front();
		q.pop();
		for(int i=0;i<tree[ft].size();i++){
			int g=tree[ft][i];
			if(!f[g])f[g]=1,q.push(g);
		}
	}
}
signed main() {
	speed
	cin>>n;
	for(int i=1;i<=n;i++){
		while(1){
			int a;
			cin>>a;
			if(!a)break;
			tree[i].push_back(a);
		}
	}
	for(int i=1;i<=n;i++){
		if(!f[i]){
			f[i]=1;
			ans++;
			bfs(i);
		}
	}
	cout<<ans;
	return 0;
}

使用了 bfs 枚举。没 T,但 WA 了。

求大佬调。

2025/8/2 21:59
加载中...