結果
| 問題 | No.2375 watasou and hibit's baseball | 
| コンテスト | |
| ユーザー |  titia | 
| 提出日時 | 2023-07-12 04:50:23 | 
| 言語 | PyPy3 (7.3.15) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 794 ms / 2,000 ms | 
| コード長 | 1,144 bytes | 
| コンパイル時間 | 389 ms | 
| コンパイル使用メモリ | 82,540 KB | 
| 実行使用メモリ | 124,400 KB | 
| 最終ジャッジ日時 | 2024-09-13 17:52:37 | 
| 合計ジャッジ時間 | 11,836 ms | 
| ジャッジサーバーID (参考情報) | judge3 / judge2 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 3 | 
| other | AC * 36 | 
ソースコード
import sys
input = sys.stdin.readline
N,A,B=map(int,input().split())
LIST=[list(map(int,input().split())) for i in range(N)]
DP=[[[0]*N for j in range(N)] for i in range(1<<N)]
ANS=0
for i in range(N):
    DP[1<<i][i][i]=1
for i in range(1<<N):
    ko=i.bit_count()
    
    for j in range(N):
        X1,Y1,K1=LIST[j]
        
        for k in range(N):
            X2,Y2,K2=LIST[k]
            if DP[i][j][k]==0:
                continue
            for l in range(N):
                if i & (1<<l) == 0:
                    X3,Y3,K3=LIST[l]
                    if ko==1:
                        if A<=abs(X2-X3)+abs(Y2-Y3):
                            DP[i|(1<<l)][k][l]=DP[i][j][k]+1
                    if ko>=1:
                        if B<=abs(K2-K3):
                            DP[i|(1<<l)][k][l]=DP[i][j][k]+1
                    if ko>=2:
                        if A<=abs(X2-X3)+abs(Y2-Y3) + abs(X1-X3)+abs(Y1-Y3):
                            DP[i|(1<<l)][k][l]=DP[i][j][k]+1
                        
for i in range(1<<N):
    for j in range(N):
        for k in range(N):
            ANS=max(ANS,DP[i][j][k])
print(ANS)
            
            
            
        