結果
| 問題 |
No.1420 国勢調査 (Easy)
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2021-03-05 22:07:19 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 450 ms / 2,000 ms |
| コード長 | 858 bytes |
| コンパイル時間 | 283 ms |
| コンパイル使用メモリ | 82,432 KB |
| 実行使用メモリ | 127,120 KB |
| 最終ジャッジ日時 | 2024-10-07 02:05:30 |
| 合計ジャッジ時間 | 12,729 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 30 |
ソースコード
import sys
input = sys.stdin.readline
from collections import *
N, M = map(int, input().split())
G = [[] for _ in range(N)]
d = defaultdict(set)
for _ in range(M):
A, B = map(int, input().split())
Y = int(input())
G[A-1].append((B-1, Y))
G[B-1].append((A-1, Y))
d[10**6*min(A, B)+max(A, B)].add(Y)
for k in d:
if len(d[k])>=2:
print(-1)
exit()
ans = [-1]*N
for v in range(N):
if ans[v]==-1:
ans[v] = 0
q = deque([v])
while q:
v = q.popleft()
for nv, Y in G[v]:
if ans[nv]==-1:
ans[nv] = ans[v]^Y
q.append(nv)
else:
if ans[v]^ans[nv]!=Y:
print(-1)
exit()
for i in range(N):
print(ans[i])