結果
問題 |
No.1045 直方体大学
|
ユーザー |
![]() |
提出日時 | 2025-03-14 12:56:51 |
言語 | PyPy3 (7.3.15) |
結果 |
TLE
|
実行時間 | - |
コード長 | 784 bytes |
コンパイル時間 | 578 ms |
コンパイル使用メモリ | 82,356 KB |
実行使用メモリ | 188,124 KB |
最終ジャッジ日時 | 2025-03-14 12:56:57 |
合計ジャッジ時間 | 5,137 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 6 TLE * 1 -- * 10 |
ソースコード
n=int(input()) b=[list(map(int,input().split())) for i in range(n)] bb=[[[] for j in range(3)] for i in range(n)] for i in range(n): for j in range(3): bb[i][j]=b[i][:] bb[i][j].pop(j) bb[i][j].sort() q=[[[0]*3 for j in range(n)] for i in range(1<<n)] for i in range(n): for j in range(3): q[1<<i][i][j]=b[i][j] for i in range(1<<n): for j1 in range(n): for k1 in range(3): for j2 in range(n): for k2 in range(3): if (i>>j1)&1==1 and (i>>j2)&1==0: b1=bb[j1][k1] b2=bb[j2][k2] if b1[0]<=b2[0] and b1[1]<=b2[1]: q[i|(1<<j2)][j2][k2]=max(q[i|(1<<j2)][j2][k2],q[i][j1][k1]+b[j2][k2]) h=0 for i in range(1<<n): for j in range(n): for k in range(3): h=max(h,q[i][j][k]) print(h)