Submission #6251009


Source Code Expand

// {{{
#include <algorithm>
#include <array>
#include <bitset>
#include <cassert>
#include <cmath>
#include <cstdio>
#include <iostream>
#include <iterator>
#include <list>
#include <map>
#include <numeric>
#include <queue>
#include <random>
#include <set>
#include <sstream>
#include <stack>
#include <string>
#include <tuple>
#include <utility>
#include <vector>
// }}}

using namespace std;

using ll = long long;
using ull = unsigned long long;
using ld = long double;

static constexpr int mod = (int)1e9 + 7;
static constexpr int inf = 100100100;
static constexpr ll linf = 1e18;
static constexpr double eps = 1e-9;
static constexpr double pi = 3.14159265359;

#define rep(i, n) for (ll i = 0; i < n; ++i)
#define rrep(i, n) for (ll i = n; i >= 0; --i)
#define all(c) begin(c), end(c)
#define rall(c) rbegin(c), rend(c)
#define pb push_back
#define ist insert
#define fst first
#define snd second


map<ll, vector<pair<ll, ll>>> G;
map<ll, ll> C;


int main() {
    // cin.tie(0);
    // ios_base::sync_with_stdio(false);
    ll N;
    cin >> N;
    for (ll i = 1; i <= N; ++i) {
        G[i];
        C[i] = -1;
    }
    rep (i, N - 1) {
        ll u, v, w;
        cin >> u >> v >> w;
        G[u].pb({v, w});
        G[v].pb({u, w});
    }
    set<ll> memo;
    queue<pair<ll, ll>> q;
    q.push({1, 0});
    for (ll i = 1; i <= N; ++i) {
        auto u = q.front();
        //cout << u.fst << ", " << u.snd << endl;
        q.pop();
        if (u.snd % 2 == 0) {
            C[u.fst] = 1;
        } else {
            C[u.fst] = 0;
        }
        memo.ist(u.fst);
        for (auto v : G[u.fst]) {
            if (memo.count(v.fst)) continue;
            q.push({v.fst, u.snd + v.snd});
        }
    }
    for (ll i = 1; i <= N; ++i) {
        cout << C[i] << endl;
    }
}

Submission Info

Submission Time
Task D - Even Relation
User gochiusa
Language C++14 (Clang 3.8.0)
Score 400
Code Size 1875 Byte
Status AC
Exec Time 776 ms
Memory 24320 KiB

Judge Result

Set Name All Sample
Score / Max Score 400 / 400 0 / 0
Status
AC × 22
AC × 2
Set Name Test Cases
All sample_01, sample_02, testcase_01, testcase_02, testcase_03, testcase_04, testcase_05, testcase_06, testcase_07, testcase_08, testcase_09, testcase_10, testcase_11, testcase_12, testcase_13, testcase_14, testcase_15, testcase_16, testcase_17, testcase_18, testcase_19, testcase_20
Sample sample_01, sample_02
Case Name Status Exec Time Memory
sample_01 AC 1 ms 256 KiB
sample_02 AC 1 ms 256 KiB
testcase_01 AC 425 ms 15604 KiB
testcase_02 AC 270 ms 10100 KiB
testcase_03 AC 339 ms 12276 KiB
testcase_04 AC 414 ms 14208 KiB
testcase_05 AC 677 ms 22144 KiB
testcase_06 AC 259 ms 9472 KiB
testcase_07 AC 1 ms 256 KiB
testcase_08 AC 1 ms 256 KiB
testcase_09 AC 1 ms 256 KiB
testcase_10 AC 172 ms 6528 KiB
testcase_11 AC 12 ms 768 KiB
testcase_12 AC 268 ms 9600 KiB
testcase_13 AC 292 ms 9856 KiB
testcase_14 AC 280 ms 9984 KiB
testcase_15 AC 773 ms 24320 KiB
testcase_16 AC 776 ms 24320 KiB
testcase_17 AC 739 ms 23168 KiB
testcase_18 AC 110 ms 4480 KiB
testcase_19 AC 515 ms 16896 KiB
testcase_20 AC 167 ms 6400 KiB