結果
問題 | No.845 最長の切符 |
ユーザー |
👑 ![]() |
提出日時 | 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)