結果
| 問題 |
No.1360 [Zelkova 4th Tune] 協和音
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2021-04-30 22:58:00 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 541 ms / 2,000 ms |
| コード長 | 842 bytes |
| コンパイル時間 | 224 ms |
| コンパイル使用メモリ | 82,176 KB |
| 実行使用メモリ | 78,132 KB |
| 最終ジャッジ日時 | 2024-07-19 02:46:10 |
| 合計ジャッジ時間 | 13,158 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 47 |
ソースコード
import sys
def resolve():
inp = int2d()
n = inp[0][0]
scores = inp[1]
graph = inp[2:]
dp = [0 for _ in range(1<<n)]
result = (-1,None)#maxscore, bit
for bit in range(1<<n):
for vertex in range(n):
if not(bit & 1<<vertex): continue
prebit = bit ^ 1<<vertex
score = dp[prebit] + scores[vertex]
for shift in range(n):
if prebit & 1<<shift:
score += graph[shift][vertex]
dp[bit] = score
if result[0] < score:
result = (score, bit)
l = []
for i in range(n):
if result[1] & 1<<i:
l.append(i+1)
print(result[0])
print(*l)
def str1d():return sys.stdin.read().splitlines()
def int2d():return [list(map(int,s.split())) for s in str1d()]
resolve()