Submission #63369197


Source Code Expand

import pypyjit
pypyjit.set_param('max_unroll_recursion=-1')
import sys

sys.setrecursionlimit(10**7)
n, m = map(int, input().split())
g = [[] for i in range(n)]
for i in range(m):
    x, y, z = map(int, input().split())
    x, y = x - 1, y - 1
    g[x].append((y, z))
    g[y].append((x, z))
visited = [False] * n
val = [-1] * n


q = []


def dfs(v):
    visited[v] = True
    for u, w in g[v]:
        if not visited[u]:
            val[u] = val[v] ^ w
            q.append(u)
            dfs(u)
        else:
            if val[u] != val[v] ^ w:
                print("-1")
                exit()


ans = [0] * n
for st in range(n):
    if visited[st]:
        continue
    val[st] = 0
    q = [st]
    dfs(st)
    for i in range(30):
        cnt = 0
        for j in q:
            if val[j] & (1 << i):
                cnt += 1
        if cnt < len(q) - cnt:
            for j in q:
                if val[j] & (1 << i):
                    ans[j] |= 1 << i
        else:
            for j in q:
                if not val[j] & (1 << i):
                    ans[j] |= 1 << i
print(*ans)

Submission Info

Submission Time
Task E - Min of Restricted Sum
User sounansya
Language Python (PyPy 3.10-v7.3.12)
Score 450
Code Size 1143 Byte
Status AC
Exec Time 519 ms
Memory 184752 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 450 / 450
Status
AC × 3
AC × 38
Set Name Test Cases
Sample 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt
All 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 01_handmade_00.txt, 01_handmade_01.txt, 01_handmade_02.txt, 01_handmade_03.txt, 01_handmade_04.txt, 01_handmade_05.txt, 01_handmade_06.txt, 01_handmade_07.txt, 01_handmade_08.txt, 01_handmade_09.txt, 02_random_00.txt, 02_random_01.txt, 02_random_02.txt, 02_random_03.txt, 02_random_04.txt, 02_random_05.txt, 02_random_06.txt, 02_random_07.txt, 02_random_08.txt, 02_random_09.txt, 02_random_10.txt, 02_random_11.txt, 02_random_12.txt, 02_random_13.txt, 02_random_14.txt, 02_random_15.txt, 02_random_16.txt, 02_random_17.txt, 02_random_18.txt, 02_random_19.txt, 02_random_20.txt, 02_random_21.txt, 02_random_22.txt, 02_random_23.txt, 02_random_24.txt
Case Name Status Exec Time Memory
00_sample_00.txt AC 55 ms 76392 KiB
00_sample_01.txt AC 56 ms 76500 KiB
00_sample_02.txt AC 55 ms 76496 KiB
01_handmade_00.txt AC 56 ms 76676 KiB
01_handmade_01.txt AC 143 ms 100248 KiB
01_handmade_02.txt AC 55 ms 76472 KiB
01_handmade_03.txt AC 61 ms 86572 KiB
01_handmade_04.txt AC 55 ms 76660 KiB
01_handmade_05.txt AC 61 ms 86816 KiB
01_handmade_06.txt AC 146 ms 100156 KiB
01_handmade_07.txt AC 345 ms 122824 KiB
01_handmade_08.txt AC 314 ms 119876 KiB
01_handmade_09.txt AC 170 ms 98152 KiB
02_random_00.txt AC 351 ms 125112 KiB
02_random_01.txt AC 381 ms 112464 KiB
02_random_02.txt AC 519 ms 127936 KiB
02_random_03.txt AC 434 ms 117504 KiB
02_random_04.txt AC 270 ms 102156 KiB
02_random_05.txt AC 362 ms 111548 KiB
02_random_06.txt AC 484 ms 144924 KiB
02_random_07.txt AC 455 ms 118188 KiB
02_random_08.txt AC 263 ms 105420 KiB
02_random_09.txt AC 266 ms 107968 KiB
02_random_10.txt AC 160 ms 92944 KiB
02_random_11.txt AC 281 ms 108412 KiB
02_random_12.txt AC 170 ms 94204 KiB
02_random_13.txt AC 213 ms 109708 KiB
02_random_14.txt AC 144 ms 94344 KiB
02_random_15.txt AC 210 ms 106824 KiB
02_random_16.txt AC 168 ms 95224 KiB
02_random_17.txt AC 231 ms 109932 KiB
02_random_18.txt AC 246 ms 104364 KiB
02_random_19.txt AC 442 ms 116752 KiB
02_random_20.txt AC 150 ms 101452 KiB
02_random_21.txt AC 404 ms 184752 KiB
02_random_22.txt AC 222 ms 98396 KiB
02_random_23.txt AC 317 ms 108864 KiB
02_random_24.txt AC 152 ms 98204 KiB