mirror of
https://git.sb/baoshuo/OI-codes.git
synced 2024-12-25 07:11:58 +00:00
AT2376 [AGC014D] Black and White Tree
https://www.luogu.com.cn/record/59261217
This commit is contained in:
parent
2ae880089e
commit
02ed7be7c2
@ -2,40 +2,32 @@
|
|||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
|
int n, u, v;
|
||||||
vector<int> g[100005];
|
vector<int> g[100005];
|
||||||
int n, x, y, s[100005];
|
bool flag, vis[100005];
|
||||||
bool flag;
|
|
||||||
|
|
||||||
void dfs(int u, int p) {
|
void dfs(int u, int f) {
|
||||||
s[u] = 1;
|
if (flag) return;
|
||||||
int t = 0;
|
for (int i : g[u]) {
|
||||||
for (int i = 0; i < g[u].size(); i++) {
|
if (i != f) dfs(i, u);
|
||||||
if (g[u][i] != p) {
|
}
|
||||||
dfs(g[u][i], u);
|
if (!vis[u]) {
|
||||||
t += s[g[u][i]];
|
if (f == -1 || vis[f]) {
|
||||||
s[u] ^= s[g[u][i]];
|
flag = true;
|
||||||
|
} else {
|
||||||
|
vis[f] = vis[u] = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (t > 1) flag = true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
cin >> n;
|
cin >> n;
|
||||||
for (int i = 1; i < n; i++) {
|
for (int i = 1; i < n; i++) {
|
||||||
cin >> x >> y;
|
cin >> u >> v;
|
||||||
g[x].push_back(y);
|
g[u].push_back(v);
|
||||||
g[y].push_back(x);
|
g[v].push_back(u);
|
||||||
}
|
|
||||||
if (n & 1) {
|
|
||||||
cout << "First" << endl;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
dfs(1, 0);
|
|
||||||
if (flag) {
|
|
||||||
cout << "First" << endl;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
cout << "Second" << endl;
|
|
||||||
}
|
}
|
||||||
|
dfs(1, -1);
|
||||||
|
cout << (flag ? "First" : "Second") << endl;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user