Aiiage Camp Day4 K Tree game

题意

  Alice和Bob轮流对一棵N个点的树染色。开始时Alice选择一个点染色,之后每次只能对Alice染色的点相邻的点染色,先不能操作者输。

  T<=100, N<=100

题解

  手玩了一下,先发现Ailce仅胜利在偶数节点的菊花树,进而在偶叉树上。

  Bob只需要保证局面中存在奇点即可。

  所以Alice胜利当且仅当图中仅有一个偶点。

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 
 4 int d[110];
 5 
 6 int main()
 7 {
 8     int T;
 9     scanf("%d", &T);
10     while (T--)
11     {
12         memset(d, 0, sizeof(d));
13         int n;
14         scanf("%d", &n);
15         for (int i = 1; i < n; ++i)
16         {
17             int u, v;
18             scanf("%d%d", &u, &v);
19             d[u]++;
20             d[v]++;
21         }
22 
23         int pd(0);
24         for (int i = 1; i <= n; ++i)
25             if (d[i] % 2 == 0)
26                 pd++;
27 
28         if (pd == 1)
29             puts("Alice");
30         else
31             puts("Bob"); 
32     }
33 
34     return 0;
35 }
原文地址:https://www.cnblogs.com/aseer/p/8461442.html