結果
| 問題 | No.845 最長の切符 |
| コンテスト | |
| ユーザー |
👑 Kazun
|
| 提出日時 | 2022-02-16 03:18:52 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 532 ms / 3,000 ms |
| コード長 | 688 bytes |
| 記録 | |
| コンパイル時間 | 180 ms |
| コンパイル使用メモリ | 82,304 KB |
| 実行使用メモリ | 101,120 KB |
| 最終ジャッジ日時 | 2024-06-29 07:11:31 |
| 合計ジャッジ時間 | 5,845 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 27 |
ソースコード
from itertools import product
import sys
input=sys.stdin.readline
N,M=map(int,input().split())
inf=float("inf")
length=[[0 if i==j else -inf for j in range(N)] for i in range(N)]
for _ in range(M):
a,b,c=map(int,input().split())
length[a-1][b-1]=length[b-1][a-1]=max(length[a-1][b-1],c)
DP=[[-inf]*N for _ in range(1<<N)]
for v in range(N):
DP[1<<v][v]=0
for S in range(1<<N):
for v in range(N):
if (S>>v)&1==0:
continue
for w in range(N):
if (S>>w)&1==1:
continue
DP[S|(1<<w)][w]=max(DP[S|(1<<w)][w], DP[S][v]+length[v][w])
Ans=-inf
for S in range(1<<N):
Ans=max(Ans, max(DP[S]))
print(Ans)
Kazun