結果

問題 No.2277 Honest or Dishonest ?
ユーザー square1001square1001
提出日時 2023-04-21 23:14:38
言語 Python3
(3.13.1 + numpy 2.2.1 + scipy 1.14.1)
結果
AC  
実行時間 703 ms / 2,000 ms
コード長 481 bytes
コンパイル時間 1,009 ms
コンパイル使用メモリ 12,544 KB
実行使用メモリ 40,448 KB
最終ジャッジ日時 2024-11-08 06:44:46
合計ジャッジ時間 24,037 ms
ジャッジサーバーID
(参考情報)
judge4 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 50
権限があれば一括ダウンロードができます

ソースコード

diff #

n, q = map(int, input().split())
g = [ list() for i in range(n) ]
for i in range(q):
	a, b, c = map(int, input().split())
	a, b = a - 1, b - 1
	g[a].append((b, c))
	g[b].append((a, c))

col = [ -1 ] * n
answer = 1
for i in range(n):
	if col[i] == -1:
		v = [ i ]
		col[i] = 0
		while v:
			u = v.pop()
			for b, c in g[u]:
				if col[b] == -1:
					col[b] = col[u] ^ c
					v.append(b)
				elif col[b] != col[u] ^ c:
					answer = 0
		answer = answer * 2 % 998244353

print(answer)
0