mirror of
https://git.sb/baoshuo/OI-codes.git
synced 2024-11-10 10:58:47 +00:00
[AGC014D] Black and White Tree
R42961130
This commit is contained in:
parent
ad3bb68125
commit
7ed884946d
41
problem/AT2376/AT2376.cpp
Normal file
41
problem/AT2376/AT2376.cpp
Normal file
@ -0,0 +1,41 @@
|
||||
#include <bits/stdc++.h>
|
||||
|
||||
using namespace std;
|
||||
|
||||
vector<int> g[100005];
|
||||
int n, x, y, s[100005];
|
||||
bool flag;
|
||||
|
||||
void dfs(int u, int p) {
|
||||
s[u] = 1;
|
||||
int t = 0;
|
||||
for (int i = 0; i < g[u].size(); i++) {
|
||||
if (g[u][i] != p) {
|
||||
dfs(g[u][i], u);
|
||||
t += s[g[u][i]];
|
||||
s[u] ^= s[g[u][i]];
|
||||
}
|
||||
}
|
||||
if (t > 1) flag = true;
|
||||
}
|
||||
|
||||
int main() {
|
||||
cin >> n;
|
||||
for (int i = 1; i < n; i++) {
|
||||
cin >> x >> y;
|
||||
g[x].push_back(y);
|
||||
g[y].push_back(x);
|
||||
}
|
||||
if (n & 1) {
|
||||
cout << "First" << endl;
|
||||
return 0;
|
||||
}
|
||||
dfs(1, 0);
|
||||
if (flag) {
|
||||
cout << "First" << endl;
|
||||
}
|
||||
else {
|
||||
cout << "Second" << endl;
|
||||
}
|
||||
return 0;
|
||||
}
|
Loading…
Reference in New Issue
Block a user