0分求调
查看原帖
0分求调
1070431
ywtank楼主2024/12/24 22:14
#include <bits/stdc++.h>
using namespace std;
int a[205][205];//sum[i]:可到达i的点数 
//vector<int> sum[205];
struct Po{
	vector<int> v;
	int s;
	Po(){
		v.clear();
		s=0;
	}
}sum[205];
int su[205];
int main(){
	int n;
	cin >> n;
	for(int i=1;i<n;i++){
		int a1,b1;
		cin >> a1 >> b1;
		a[a1][b1]=1;//从a1到b1 
		sum[b1].s++;
		sum[b1].v.push_back(a1);
	}
//	for(int i=1;i<=n;i++){
//		
//	}
//	for(int i=1;i<=n;i++){
//		if(sum[i]==n-1){
//			cout << i;
//			return 0;
//		}
//	}
	for(int i=1;i<=n;i++){
		su[i]=sum[i].s;
		for(auto j:sum[i].v){
			su[i]+=sum[j].s;
		}
		cout << su[i] << '\n';
		if(su[i]==n-1){
			cout << i;
			return 0;
		}
	}
	cout << -1;
	return 0;
}

希望各位大佬帮忙看看

2024/12/24 22:14
加载中...