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
AC × 3
AC × 27
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