結果
問題 |
No.1420 国勢調査 (Easy)
|
ユーザー |
|
提出日時 | 2022-05-12 10:27:10 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 335 ms / 2,000 ms |
コード長 | 860 bytes |
コンパイル時間 | 275 ms |
コンパイル使用メモリ | 82,176 KB |
実行使用メモリ | 108,544 KB |
最終ジャッジ日時 | 2024-07-20 03:00:49 |
合計ジャッジ時間 | 9,546 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 30 |
ソースコード
import sys from collections import deque input = sys.stdin.buffer.readline def solve(G): X = [None] * N nonvisited = set(range(N)) while nonvisited: v0 = nonvisited.pop() X[v0] = 0 d = deque([v0]) while d: v = d.pop() xv = X[v] for nv, y in G[v]: if nv in nonvisited: X[nv] = xv ^ y nonvisited.remove(nv) d.append(nv) else: if X[nv] != xv ^ y: return None return X N, M = map(int, input().split()) G = [[] for _ in range(N)] for _ in range(M): a, b = (int(x) - 1 for x in input().split()) y = int(input()) G[a].append((b, y)) G[b].append((a, y)) X = solve(G) if X is None: print(-1) else: print(*X, sep="\n")