求调0分
查看原帖
求调0分
863541
lixuanxi楼主2024/6/2 15:03
#include<bits/stdc++.h>
using namespace std;
int n,ans;
vector < int > mp[100005];
int f[100005];
bool b[100005];
int dfs(int x){
	if(b[x])return 0;
	b[x]=1;
	for(int i=0;i<mp[x].size();i++){
		int v=mp[x][i];
		if(!b[v]){
			ans++;
			dfs(v);	
		}
	}
}
int main(){
	scanf("%d",&n);
	for(int i=1;i<n;i++){
		int u,v;
		scanf("%d%d",&u,&v);
		mp[v].push_back(u);
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++)b[j]=0;
		ans=0;
		dfs(i);
		if(ans==n-1){
			cout<<i;
			return 0;
		}
	}
	cout<<-1;
	return 0;
}
2024/6/2 15:03
加载中...