結果
問題 | No.1420 国勢調査 (Easy) |
ユーザー |
👑 |
提出日時 | 2022-02-24 22:09:36 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 1,611 ms / 2,000 ms |
コード長 | 950 bytes |
コンパイル時間 | 142 ms |
コンパイル使用メモリ | 82,276 KB |
実行使用メモリ | 105,916 KB |
最終ジャッジ日時 | 2024-07-02 14:07:00 |
合計ジャッジ時間 | 17,066 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 30 |
ソースコード
import sysinput = sys.stdin.readlinen, m = map(int, input().split())edges = [[] for _ in range(n)]for _ in range(m):a, b = map(int, input().split())a -= 1b -= 1y = int(input())edges[a].append((b, y))edges[b].append((a, y))pow2 = [1 << i for i in range(30)]X = [0] * nfor k in range(30):bi = [-1] * nfor i in range(n):if bi[i] != -1:continuebi[i] = 0stack = [i]while stack:pos = stack.pop()for npos, y in edges[pos]:if y >> k & 1:x = 1else:x = 0if bi[npos] == -1:bi[npos] = bi[pos] ^ xif bi[npos]:X[npos] ^= pow2[k]stack.append(npos)elif bi[npos] != bi[pos] ^ x:print(-1)exit()print(*X)