結果
| 問題 |
No.943 取り調べ
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2019-12-05 22:27:19 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 848 bytes |
| コンパイル時間 | 279 ms |
| コンパイル使用メモリ | 82,304 KB |
| 実行使用メモリ | 77,184 KB |
| 最終ジャッジ日時 | 2024-12-23 02:31:45 |
| 合計ジャッジ時間 | 5,250 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 14 WA * 10 |
ソースコード
from collections import deque
N = int(input())
ins = [0]*N
outs = [[] for _ in range(N)]
for i in range(N):
Xi = list(map(int, input().split()))
for j in range(N):
if Xi[j]==1:
ins[i] += 1
outs[j].append(i)
A = list(map(int, input().split()))
for i in range(N):
if ins[i]==0:
A[i] = 0
ans = 10**18
for i in range(2**N):
ans_cand = 0
q = deque([])
ins_ = ins[:]
flag = [False]*N
for j in range(N):
if (i>>j)&1:
ans_cand += A[j]
q.append(j)
while q:
v = q.popleft()
flag[v] = True
for nv in outs[v]:
ins_[nv] -= 1
if ins_[nv]==0:
q.append(nv)
if flag==[True]*N:
ans = min(ans, ans_cand)
print(ans)