結果

問題 No.357 品物の並び替え (Middle)
ユーザー ntudantuda
提出日時 2024-12-20 22:51:56
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 477 bytes
コンパイル時間 306 ms
コンパイル使用メモリ 82,064 KB
実行使用メモリ 69,568 KB
最終ジャッジ日時 2024-12-20 22:52:00
合計ジャッジ時間 3,620 ms
ジャッジサーバーID
(参考情報)
judge2 / judge3
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 WA -
testcase_01 AC 41 ms
52,820 KB
testcase_02 WA -
testcase_03 WA -
testcase_04 WA -
testcase_05 WA -
testcase_06 WA -
testcase_07 WA -
testcase_08 WA -
testcase_09 WA -
testcase_10 WA -
testcase_11 WA -
testcase_12 WA -
testcase_13 WA -
testcase_14 WA -
testcase_15 WA -
testcase_16 WA -
testcase_17 WA -
権限があれば一括ダウンロードができます

ソースコード

diff #

N,M = map(int,input().split())
UV = [list(map(int,input().split())) for _ in range(M)]
P = [[0] * N for _ in range(N)]
for u,v,c in UV:
    P[u][v] = max(P[u][v], c)

dp = [-1] * (1 << N)
for i in range(N):
    dp[1<<i] = 0
for _ in range(N):
    for i in range(N):
        for j in range(N):
            for k in range(1<<N):
                if k & (1<<i) and not(k & (1<<j)) and dp[k] >= 0:
                    dp[k|(1<<j)] = max(dp[k|(1<<j)],dp[k] + P[i][j])
print(dp[-1])

0