atcoder 356 Cの問題の解き方でアドバイスがほしいです

実現したいこと

問題:https://atcoder.jp/contests/abc356/tasks/abc356_c
言語:Python
テーマ:bit全探索
依頼内容:実装した手法が、なぜダメなのかご教授ください。よろしくお願いします。
与えられた課題:bit全探索で条件に該当するパターンを数える

発生している問題・分からないこと

考えた手法:
鍵がK本以上ないとそもそもあくことはないと判断し、

# continue

これを記入しましたが、これがWAの原因となってしまいます。

エラーメッセージ

error

1提出結果がwaとなってしまいます。

該当のソースコード

python

1N,M,K = map(int,input().split())2C = [list(input().split())for _ in range(M)]3# C.sort(key = lambda x:x[-1])4 5box = [[None for _ in range(2)]for _ in range(M)]6for i in range(M):7 ci = 08 for j in range(int(C[i][0])):9 ci += 1<<(int(C[i][1+j])-1)10 box[i][1] = ci 11 box[i][0] = (0 if C[i][-1]=="x" else 1)12 # print(C[i])13 14 15ans = 016for bit in range(1<<N):17 """ 18 # ここの部分を入れるとWAになる 19 # if bin(bit).count("1")<K: 20 # continue 21 """22 flag=True23 for mi in range(M):24 cnt = bin(bit&box[mi][1]).count("1")25 if box[mi][0]==0 and cnt>=K:26 flag=False27 break28 elif box[mi][0]==1 and cnt<K:29 flag=False30 break31 # print("Flag",flag)32 if flag:33 ans+=134 35print(ans)

試したこと・調べたこと

上記の詳細・結果

どのサイトでも考えていなかったため、解決に至らなかった

補足

特になし

コメントを投稿

0 コメント