求调
查看原帖
求调
855970
OIerJiang_1017楼主2024/5/28 19:49

#include <iostream>
#include <vector>
#include <cstring>
using namespace std;

vector <int> g[110];
int cnt[110];
bool vis[110];

void dfs(int x, int st)
{
	if(vis[x])
		return ;
	vis[x] = 1;
	cnt[x]++;
	for(int i = 0; i < g[x].size(); i++)
	{
		int y = g[x][i];
		dfs(y, st);
	}
}

int main()
{
	int n;
	cin >> n;
	for(int i = 1; i < n; i++)
	{
		int a, b;
		cin >> a >> b;
		g[b].push_back(a);
	}
	
	for(int i = 1; i <= n; i++)
	{
		memset(vis, 0, sizeof(vis));
		dfs(i, i);
	}
	for(int i = 1; i <= n; i++)
	{
		if(cnt[i] == n)
		{
			cout << i << endl;
			return 0;
		}
	}
	cout << -1 << endl;
	return 0;
}
  
2024/5/28 19:49
加载中...