#include#include using namespace std;int map[100][100];int sum[100], weight[100]; int visit[100];int n;void dfs(int node) { \tvisit[node] = 1; \tsum[node] = 1; \tint v, maxw = 0;\tfor (v = 1; v <= n; v ) {\t\tif (!map[node][v] || visit[v]) \t\t\tcontinue;\t\tdfs(v);\t\tsum[node] = sum[v]; \t\tif (sum[v] > maxw) \t\t\tmaxw = sum[v];\t}\tif (n - sum[node] > maxw) \t\tmaxw = n - sum[node];\tweight[node] = maxw;}int main() {\tmemset(map, 0, sizeof(map)); \tmemset(sum, 0, sizeof(sum)); \tmemset(weight, 0, sizeof(weight)); \tmemset(visit, 0, sizeof(visit)); \tcin >> n;\tint i, x, y;\tfor (i = 1; i < n; i ) { \t\tcin >> x >> y; \t\tmap[x][y] = 1; \t\tmap[y][x] = 1;\t}\tdfs(1);\tint ans = n, ansN = 0; \tfor (i = 1; i <= n; i )\t\tif (weight[i] < ans) { \t\t\tans = weight[i]; \t\t\tansN = i;\t\t}\tcout << ansN << " " << ans << endl; \treturn 0;}
输入:
1 1
1 2
1 3
2 4
2 5
2 6
3 7
7 8
7 11
6 9
9 10
输出:
发表评论 取消回复