結果
問題 |
No.2948 move move rotti
|
ユーザー |
![]() |
提出日時 | 2024-07-03 06:42:17 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
TLE
|
実行時間 | - |
コード長 | 773 bytes |
コンパイル時間 | 186 ms |
コンパイル使用メモリ | 12,800 KB |
実行使用メモリ | 140,928 KB |
最終ジャッジ日時 | 2024-07-03 06:42:23 |
合計ジャッジ時間 | 5,883 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | TLE * 1 -- * 27 |
ソースコード
n,m,k=map(int,input().split()) x=[*map(lambda a:int(a)-1,input().split())] g=[[]for _ in range(n)] for i in range(m): u,v=map(int,input().split()) g[u-1].append(v-1) g[v-1].append(u-1) ans=[[1]*(n+1)for _ in range(n)] for t in range(k): dp=[[[0]*(1<<n) for _ in range(n)]for _ in range(n+1)] dp[0][x[t]][1<<x[t]]=1 for i in range(n): for j in range(n): ok=0 for tmp in range(1<<n): if not dp[i][j][tmp]:continue ok=1 for k in range(len(g[j])): if (tmp>>g[j][k])&1:continue dp[i+1][g[j][k]][tmp|(1<<g[j][k])]=1 if not ok:ans[j][i]=0 for i in range(n): ok=0 for tmp in range(1<<n): if dp[n][i][tmp]:ok=1 if not ok:ans[i][n]=0 ok=0 for i in range(n): for j in range(n): if ans[i][j]:ok=1 if ok:print("Yes") else:print("No")