結果
問題 | No.2948 move move rotti |
ユーザー |
![]() |
提出日時 | 2024-10-25 22:52:13 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 866 ms / 4,000 ms |
コード長 | 823 bytes |
コンパイル時間 | 497 ms |
コンパイル使用メモリ | 82,468 KB |
実行使用メモリ | 169,792 KB |
最終ジャッジ日時 | 2024-10-25 22:52:23 |
合計ジャッジ時間 | 9,244 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 28 |
ソースコード
N,M,K=map(int,input().split()) X=list(map(int,input().split())) Xset=set(X[i]-1 for i in range(K)) edge=[[] for _ in range(N)] for _ in range(M): u,v=map(int,input().split()) edge[u-1].append(v-1) edge[v-1].append(u-1) exp2=[2**i for i in range(N+10)] for i in range(N): dp=[[False for _ in range(N)] for _ in range(2**N)] turn=[set() for _ in range(N+1)] dp[exp2[i]][i]=True for j in range(2**N): bit_count=j.bit_count() for k in range(N): if dp[j][k]: turn[bit_count].add(k) for t in edge[k]: if j&exp2[t]==0: dp[j+exp2[t]][t]=True #print(dp) for i in range(N+1): #print(turn,Xset) if Xset & turn[i] == Xset: print('Yes') exit(0) print('No')