前提・実現したいこと
atcoderABC147のC問題のコードがどこが間違っているのかわかりません。
https://atcoder.jp/contests/abc147/tasks/abc147_c
発生している問題・エラーメッセージ
どのサンプルを入力してもゼロが出力されます。
該当のソースコード
pypy3
1 2n = int(input()) 3A = [] 4L = [] 5 6for i in range(n): 7 a = int(input()) 8 A.append(a) 9 l = [] 10 for j in range(a): 11 l.append(list(map(int, input().split()))) 12 L.append(l) 13 14result = [0] 15for i in range(2**n): 16 lst = [0]*n 17 flug = True 18 for j in range(n): 19 if (i>>j) & 1: 20 lst[j] = 1 21 for k in range(n): 22 syogensu = A[k] 23 for l in range(syogensu): 24 if not flug: 25 continue 26 idx = L[k][l][0] 27 Bool = L[k][l][1] 28 29 if lst[idx-1] != Bool: 30 flug = False 31 32 if flug: 33 result.append(sum(lst)) 34 35print(max(result))
試したこと
①2のn乗個の数を2進数であらわしてリストにする。
②証言数を取得して、証言者ごとに、ある2進数のパターンが成立するか判定する。
③全証言者の発言に矛盾が生じなかったら、結果リスト内に正直者の数を追加する。
を繰り返し行っているのですが、うまくいきません。
全部出力がゼロになります。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/04/20 10:07