Submission #1779458
Source Code Expand
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef vector<int> vint;
typedef pair<int,int> pint;
typedef vector<pint> vpint;
#define rep(i,n) for(int i=0;i<(n);i++)
#define REP(i,n) for(int i=n-1;i>=(0);i--)
#define reps(i,f,n) for(int i=(f);i<(n);i++)
#define each(it,v) for(__typeof((v).begin()) it=(v).begin();it!=(v).end();it++)
#define all(v) (v).begin(),(v).end()
#define eall(v) unique(all(v), v.end())
#define pb push_back
#define mp make_pair
#define fi first
#define se second
#define chmax(a, b) a = (((a)<(b)) ? (b) : (a))
#define chmin(a, b) a = (((a)>(b)) ? (b) : (a))
const int MOD = 1e9 + 7;
const int INF = 1e9;
const ll INFF = 1e18;
int N, X;
int x[100100], y[100100];
ll c[100100];
ll dp[100010];
vector<pair<int, ll>> G[100100];
void dfs(int u, int p) {
for(auto t : G[u]) {
int v = t.fi; ll k = t.se;
if(p == v) continue;
dp[v] = dp[u] ^ k;
dfs(v, u);
}
}
int main(void) {
cin >> N >> X;
rep(i, N - 1) cin >> x[i] >> y[i] >> c[i];
rep(i, N - 1) x[i]--, y[i]--;
rep(i, N) G[x[i]].pb(mp(y[i], c[i])), G[y[i]].pb(mp(x[i], c[i]));
dfs(0, -1);
dp[0] = 0;
map<ll, ll> ma;
rep(i, N) ma[dp[i]]++;
ll ans = 0;
for(auto u : ma) {
ll d = u.fi ^ X;
// if(d > u.fi) continue;
if(ma.count(d) == 0) continue;
if(d == u.fi) {
ans += u.se * (u.se - 1) / 2;
}else if(d < u.fi){
ans += u.se * ma[d];
}
}
printf("%lld\n", ans);
return 0;
}
Submission Info
Submission Time |
|
Task |
C - エックスオア多橋君 |
User |
mmxsrup |
Language |
C++14 (GCC 5.4.1) |
Score |
100 |
Code Size |
1481 Byte |
Status |
AC |
Exec Time |
172 ms |
Memory |
16256 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 |
3 ms |
4352 KB |
subtask0_sample_02.txt |
AC |
3 ms |
4352 KB |
subtask0_sample_03.txt |
AC |
3 ms |
4352 KB |
subtask1_01.txt |
AC |
3 ms |
4352 KB |
subtask1_02.txt |
AC |
4 ms |
4352 KB |
subtask1_03.txt |
AC |
172 ms |
16256 KB |
subtask1_04.txt |
AC |
171 ms |
16256 KB |
subtask1_05.txt |
AC |
172 ms |
16256 KB |
subtask1_06.txt |
AC |
89 ms |
14336 KB |
subtask1_07.txt |
AC |
106 ms |
9984 KB |
subtask1_08.txt |
AC |
106 ms |
9984 KB |
subtask1_09.txt |
AC |
134 ms |
11008 KB |
subtask1_10.txt |
AC |
130 ms |
11008 KB |
subtask1_11.txt |
AC |
4 ms |
4352 KB |
subtask1_12.txt |
AC |
4 ms |
4352 KB |
subtask1_13.txt |
AC |
120 ms |
10112 KB |
subtask1_14.txt |
AC |
115 ms |
10112 KB |
subtask1_15.txt |
AC |
15 ms |
5376 KB |
subtask1_16.txt |
AC |
15 ms |
5376 KB |
subtask1_17.txt |
AC |
15 ms |
5376 KB |
subtask1_18.txt |
AC |
16 ms |
5376 KB |
subtask1_19.txt |
AC |
15 ms |
5376 KB |
subtask1_20.txt |
AC |
15 ms |
5376 KB |
subtask1_21.txt |
AC |
15 ms |
5376 KB |
subtask1_22.txt |
AC |
15 ms |
5376 KB |
subtask1_23.txt |
AC |
15 ms |
5376 KB |
subtask1_24.txt |
AC |
15 ms |
5376 KB |