Submission #1164398
Source Code Expand
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <string>
#include <vector>
#include <queue>
#include <map>
#include <set>
#include <functional>
#include <cmath>
#include <complex>
#include <cctype>
#include <cassert>
#include <sstream>
#include <ctime>
using namespace std;
#define FOR(i,a,b) for(int i=(a);i<(b);i++)
#define REP(i,n) FOR(i,0,n)
#define ALL(v) (v).begin(),(v).end()
template<typename A, typename B> inline bool chmax(A &a, B b) { if (a<b) { a=b; return 1; } return 0; }
template<typename A, typename B> inline bool chmin(A &a, B b) { if (a>b) { a=b; return 1; } return 0; }
typedef long long ll;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;
typedef pair<int, pii> P;
typedef vector<pii> vp;
#define INF (1<<29)
#define INFL (1ll<<60)
#define EPS (1e-8)
#define PI (acos(-1))
const ll MOD = 1000000007ll;
int N, X;
vector<pii> g[112345];
int c[112345];
bool done[112345];
void dfs(int v, int pre, int cost) {
done[v] = true;
c[v] = cost;
REP(i, g[v].size()) {
int u = g[v][i].first;
if (u == pre || done[u]) continue;
dfs(u, v, cost ^ g[v][i].second);
}
}
int main() {
cin >> N >> X;
REP(i, N - 1) {
int x, y, c;
scanf("%d %d %d", &x, &y, &c)+
x--; y--;
g[x].push_back(pii(y, c));
g[y].push_back(pii(x, c));
}
dfs(0, -1, 0);
map<int, int> m;
REP(i, N) m[c[i]]++;
ll ans = 0;
if (X == 0) ans -= N;
REP(i, N) ans += m[c[i] ^ X];
cout << ans / 2 << endl;
return 0;
}
Submission Info
Submission Time |
|
Task |
C - エックスオア多橋君 |
User |
tkmst201 |
Language |
C++ (GCC 5.4.1) |
Score |
100 |
Code Size |
1542 Byte |
Status |
AC |
Exec Time |
120 ms |
Memory |
16384 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 |
2 ms |
2944 KB |
subtask0_sample_02.txt |
AC |
2 ms |
2944 KB |
subtask0_sample_03.txt |
AC |
2 ms |
2944 KB |
subtask1_01.txt |
AC |
2 ms |
2944 KB |
subtask1_02.txt |
AC |
3 ms |
2944 KB |
subtask1_03.txt |
AC |
120 ms |
16384 KB |
subtask1_04.txt |
AC |
120 ms |
16384 KB |
subtask1_05.txt |
AC |
120 ms |
16384 KB |
subtask1_06.txt |
AC |
39 ms |
11136 KB |
subtask1_07.txt |
AC |
50 ms |
7040 KB |
subtask1_08.txt |
AC |
50 ms |
7040 KB |
subtask1_09.txt |
AC |
74 ms |
7808 KB |
subtask1_10.txt |
AC |
74 ms |
7808 KB |
subtask1_11.txt |
AC |
3 ms |
2944 KB |
subtask1_12.txt |
AC |
3 ms |
2944 KB |
subtask1_13.txt |
AC |
58 ms |
7040 KB |
subtask1_14.txt |
AC |
58 ms |
7040 KB |
subtask1_15.txt |
AC |
10 ms |
3840 KB |
subtask1_16.txt |
AC |
10 ms |
3840 KB |
subtask1_17.txt |
AC |
10 ms |
3840 KB |
subtask1_18.txt |
AC |
10 ms |
3840 KB |
subtask1_19.txt |
AC |
10 ms |
3840 KB |
subtask1_20.txt |
AC |
10 ms |
3840 KB |
subtask1_21.txt |
AC |
10 ms |
3840 KB |
subtask1_22.txt |
AC |
10 ms |
3840 KB |
subtask1_23.txt |
AC |
10 ms |
3840 KB |
subtask1_24.txt |
AC |
10 ms |
3840 KB |