You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
|
#include <bits/stdc++.h>
|
|
|
|
|
|
|
|
|
|
using namespace std;
|
|
|
|
|
|
|
|
|
|
//结点数<=100
|
|
|
|
|
int n, m, tree[101] = {0};
|
|
|
|
|
|
|
|
|
|
int main() {
|
|
|
|
|
int i, x, y, root, maxroot, sum, j, Max = 0;
|
|
|
|
|
cin >> n >> m;//节点和边的数目
|
|
|
|
|
for (i = 1; i <= m; i++) {
|
|
|
|
|
cin >> x >> y;
|
|
|
|
|
tree[y] = x; //y是x的孩子
|
|
|
|
|
}
|
|
|
|
|
//找出树根
|
|
|
|
|
for (i = 1; i <= n; i++) {
|
|
|
|
|
// i的父亲节点为0,即没有父亲节点
|
|
|
|
|
if (tree[i] == 0) {
|
|
|
|
|
root = i;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//找孩子最多的节点maxroot
|
|
|
|
|
for (i = 1; i <= n; i++) {
|
|
|
|
|
sum = 0;
|
|
|
|
|
for (j = 1; j <= n; j++) {
|
|
|
|
|
if (tree[j] == i) sum++;
|
|
|
|
|
}
|
|
|
|
|
if (sum > Max) {
|
|
|
|
|
Max = sum;
|
|
|
|
|
maxroot = i;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
/*
|
|
|
|
|
cout << root << endl;
|
|
|
|
|
cout << maxroot << endl;
|
|
|
|
|
|
|
|
|
|
//maxroot的孩子
|
|
|
|
|
for (i = 1; i <= n; i++) {
|
|
|
|
|
if (tree[i] == maxroot) {
|
|
|
|
|
cout << i << " ";
|
|
|
|
|
}
|
|
|
|
|
}*/
|
|
|
|
|
return 0;
|
|
|
|
|
}
|