結果
問題 |
No.1420 国勢調査 (Easy)
|
ユーザー |
|
提出日時 | 2022-05-12 09:29:44 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 440 ms / 2,000 ms |
コード長 | 790 bytes |
コンパイル時間 | 564 ms |
コンパイル使用メモリ | 82,300 KB |
実行使用メモリ | 108,796 KB |
最終ジャッジ日時 | 2024-07-20 01:49:44 |
合計ジャッジ時間 | 12,775 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 30 |
ソースコード
from collections import deque 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() for x, y in G[v]: if x in nonvisited: X[x] = X[v] ^ y nonvisited.remove(x) d.append(x) else: if X[x] != X[v] ^ 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")