結果
問題 |
No.845 最長の切符
|
ユーザー |
![]() |
提出日時 | 2025-06-23 21:18:34 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 387 ms / 3,000 ms |
コード長 | 688 bytes |
コンパイル時間 | 451 ms |
コンパイル使用メモリ | 82,776 KB |
実行使用メモリ | 90,420 KB |
最終ジャッジ日時 | 2025-06-23 21:18:39 |
合計ジャッジ時間 | 5,402 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 27 |
ソースコード
N,M = map(int,input().split()) A = [[-1] * N for _ in range(N)] NB = 1 << N for _ in range(M): a,b,c = map(int,input().split()) a -= 1 b -= 1 A[a][b] = max(A[a][b],c) A[b][a] = max(A[a][b],c) D = [[-1] * N for _ in range(NB)] for i in range(N): D[1<<i][i] = 0 for S in range(NB): for u in range(N): if not(S>>u & 1): continue for v in range(N): if S>>v & 1: continue if A[u][v] == -1: continue if D[S][u] != -1: D[S|1<<v][v] = max(D[S|1<<v][v],D[S][u]+A[u][v]) ans = 0 for d in D: #print (*d) #print() ans = max(ans,max(d)) print(ans)