結果
問題 |
No.1045 直方体大学
|
ユーザー |
![]() |
提出日時 | 2025-07-08 03:32:33 |
言語 | PyPy3 (7.3.15) |
結果 |
TLE
|
実行時間 | - |
コード長 | 1,255 bytes |
コンパイル時間 | 392 ms |
コンパイル使用メモリ | 82,080 KB |
実行使用メモリ | 77,836 KB |
最終ジャッジ日時 | 2025-07-08 03:32:38 |
合計ジャッジ時間 | 5,246 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 6 TLE * 1 -- * 10 |
ソースコード
import sys input = sys.stdin.readline N=int(input()) A=[] for i in range(N): L=list(map(int,input().split())) L.sort() A.append(L) DP=[[[-1<<30]*3 for i in range(N)] for j in range(1<<N)] for i in range(N): a,b,c=A[i] DP[1<<i][i][0]=c DP[1<<i][i][1]=b DP[1<<i][i][2]=a ANS=0 for i in range(1<<N): for j in range(N): for cc in range(3): now=DP[i][j][cc] ANS=max(ANS,now) a,b,c=A[j] if cc==0: x,y=a,b if cc==1: x,y=a,c if cc==2: x,y=b,c for to in range(N): if i & (1<<to) !=0: continue for cc2 in range(3): a2,b2,c2=A[to] if cc2==0: x2,y2=a2,b2 z2=c2 if cc2==1: x2,y2=a2,c2 z2=b2 if cc2==2: x2,y2=b2,c2 z2=a2 if x>=x2 and y>=y2: DP[i|(1<<to)][to][cc2]=max(DP[i|(1<<to)][to][cc2],now+z2) print(ANS)