Submission #2549399
Source Code Expand
#include <algorithm> #include <cstring> #include <deque> #include <functional> #include <iostream> #include <map> #include <numeric> #include <queue> #include <set> #include <vector> using namespace std; using ll = long long; struct Edge { int to, c; }; int main() { int N, X; while (cin >> N >> X) { vector<vector<Edge>> G(N); for (int i = 0; i < N - 1; i++) { int x, y, c; cin >> x >> y >> c; --x; --y; G[x].push_back(Edge{y, c}); G[y].push_back(Edge{x, c}); } vector<int> xsum(N); function<void(int, int, int)> dfs = [&](int v, int p, int c) { xsum[v] = c; for (auto& e : G[v]) { if (e.to == p) continue; dfs(e.to, v, c ^ e.c); } }; dfs(0, -1, 0); map<int, int> cnt; for (int x : xsum) ++cnt[x]; ll res = 0; for (int i = 0; i < N; i++) { int y = X ^ xsum[i]; if (y == xsum[i]) { res += cnt[y] - 1; } else { res += cnt[y]; } } res /= 2; cout << res << endl; } return 0; }
Submission Info
Submission Time | |
---|---|
Task | C - エックスオア多橋君 |
User | kroton |
Language | C++14 (GCC 5.4.1) |
Score | 100 |
Code Size | 1106 Byte |
Status | AC |
Exec Time | 204 ms |
Memory | 16000 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 100 / 100 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | subtask0_sample_01.txt, subtask0_sample_02.txt, subtask0_sample_03.txt |
All | subtask0_sample_01.txt, subtask0_sample_02.txt, subtask0_sample_03.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_20.txt, subtask1_21.txt, subtask1_22.txt, subtask1_23.txt, subtask1_24.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
subtask0_sample_01.txt | AC | 1 ms | 256 KB |
subtask0_sample_02.txt | AC | 1 ms | 256 KB |
subtask0_sample_03.txt | AC | 1 ms | 256 KB |
subtask1_01.txt | AC | 1 ms | 256 KB |
subtask1_02.txt | AC | 2 ms | 256 KB |
subtask1_03.txt | AC | 199 ms | 16000 KB |
subtask1_04.txt | AC | 204 ms | 16000 KB |
subtask1_05.txt | AC | 188 ms | 16000 KB |
subtask1_06.txt | AC | 89 ms | 13952 KB |
subtask1_07.txt | AC | 101 ms | 6656 KB |
subtask1_08.txt | AC | 100 ms | 6656 KB |
subtask1_09.txt | AC | 132 ms | 7424 KB |
subtask1_10.txt | AC | 132 ms | 7424 KB |
subtask1_11.txt | AC | 2 ms | 256 KB |
subtask1_12.txt | AC | 2 ms | 256 KB |
subtask1_13.txt | AC | 113 ms | 6656 KB |
subtask1_14.txt | AC | 114 ms | 6656 KB |
subtask1_15.txt | AC | 14 ms | 1408 KB |
subtask1_16.txt | AC | 14 ms | 1408 KB |
subtask1_17.txt | AC | 13 ms | 1408 KB |
subtask1_18.txt | AC | 14 ms | 1408 KB |
subtask1_19.txt | AC | 14 ms | 1408 KB |
subtask1_20.txt | AC | 14 ms | 1408 KB |
subtask1_21.txt | AC | 14 ms | 1408 KB |
subtask1_22.txt | AC | 14 ms | 1408 KB |
subtask1_23.txt | AC | 14 ms | 1408 KB |
subtask1_24.txt | AC | 14 ms | 1408 KB |