Submission #34365045
Source Code Expand
#include <iostream> #include <cstdio> #include <cstring> #include <vector> #include <algorithm> #include <cmath> #include <queue> using namespace std; #define mp make_pair #define pb push_back #define ll long long const int maxN = 200011; int n, x, y; vector<int> adj[maxN]; bool white[maxN]; string s; vector<int> aft[maxN]; int deg[maxN]; priority_queue<int, vector<int>, greater<int>> ready; void dfs(int node, int root) { for (int to: adj[node]) { if (to == root) continue; dfs(to, node); if (white[to]) { aft[to].pb(node); white[node] ^= true; } else { aft[node].pb(to); } } } int main() { cin >> n; for (int i = 1; i < n; i++) { cin >> x >> y; adj[x].pb(y); adj[y].pb(x); } cin >> s; for (int i = 1; i <= n; i++) white[i] = s[i - 1] == 'W'; dfs(1, 0); if (!white[1]) { cout << -1; exit(0); } for (int node = 1; node <= n; node++) for (int to: aft[node]) deg[to]++; for (int node = 1; node <= n; node++) if (deg[node] == 0) ready.push(node); while (!ready.empty()) { int node = ready.top(); ready.pop(); cout << node << ' '; for (int to: aft[node]) if (--deg[to] == 0) ready.push(to); } return 0; }
Submission Info
Submission Time | |
---|---|
Task | E - Reversi |
User | atatomir |
Language | C++ (GCC 9.2.1) |
Score | 700 |
Code Size | 1346 Byte |
Status | AC |
Exec Time | 247 ms |
Memory | 33928 KiB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 700 / 700 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | sample01.txt, sample02.txt |
All | in01.txt, in02.txt, in03.txt, in04.txt, in05.txt, in06.txt, in07.txt, in08.txt, in09.txt, in10.txt, in11.txt, in12.txt, in13.txt, in14.txt, in15.txt, in16.txt, in17.txt, in18.txt, in19.txt, in20.txt, in21.txt, in22.txt, in23.txt, in24.txt, in25.txt, in26.txt, in27.txt, in28.txt, in29.txt, in30.txt, in31.txt, in32.txt, in33.txt, in34.txt, in35.txt, in36.txt, sample01.txt, sample02.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
in01.txt | AC | 187 ms | 23544 KiB |
in02.txt | AC | 184 ms | 23348 KiB |
in03.txt | AC | 188 ms | 23640 KiB |
in04.txt | AC | 190 ms | 23496 KiB |
in05.txt | AC | 193 ms | 23520 KiB |
in06.txt | AC | 189 ms | 23464 KiB |
in07.txt | AC | 194 ms | 23680 KiB |
in08.txt | AC | 108 ms | 23100 KiB |
in09.txt | AC | 110 ms | 23060 KiB |
in10.txt | AC | 241 ms | 24728 KiB |
in11.txt | AC | 229 ms | 24296 KiB |
in12.txt | AC | 234 ms | 24468 KiB |
in13.txt | AC | 236 ms | 24556 KiB |
in14.txt | AC | 247 ms | 24828 KiB |
in15.txt | AC | 230 ms | 24316 KiB |
in16.txt | AC | 229 ms | 24304 KiB |
in17.txt | AC | 222 ms | 24284 KiB |
in18.txt | AC | 232 ms | 24604 KiB |
in19.txt | AC | 241 ms | 24768 KiB |
in20.txt | AC | 244 ms | 24592 KiB |
in21.txt | AC | 234 ms | 24508 KiB |
in22.txt | AC | 231 ms | 24568 KiB |
in23.txt | AC | 239 ms | 24564 KiB |
in24.txt | AC | 236 ms | 24700 KiB |
in25.txt | AC | 234 ms | 30836 KiB |
in26.txt | AC | 219 ms | 30784 KiB |
in27.txt | AC | 229 ms | 33432 KiB |
in28.txt | AC | 231 ms | 32856 KiB |
in29.txt | AC | 230 ms | 30440 KiB |
in30.txt | AC | 228 ms | 31456 KiB |
in31.txt | AC | 236 ms | 33708 KiB |
in32.txt | AC | 219 ms | 33928 KiB |
in33.txt | AC | 235 ms | 32508 KiB |
in34.txt | AC | 240 ms | 30772 KiB |
in35.txt | AC | 138 ms | 24628 KiB |
in36.txt | AC | 140 ms | 24644 KiB |
sample01.txt | AC | 12 ms | 12980 KiB |
sample02.txt | AC | 14 ms | 12880 KiB |