結果
| 問題 | No.594 壊れた宝物発見機 | 
| コンテスト | |
| ユーザー |  wajima_wataru | 
| 提出日時 | 2018-01-03 22:54:38 | 
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 143 ms / 2,000 ms | 
| コード長 | 570 bytes | 
| コンパイル時間 | 181 ms | 
| コンパイル使用メモリ | 12,544 KB | 
| 実行使用メモリ | 27,624 KB | 
| 平均クエリ数 | 190.00 | 
| 最終ジャッジ日時 | 2024-07-16 15:17:21 | 
| 合計ジャッジ時間 | 4,225 ms | 
| ジャッジサーバーID (参考情報) | judge3 / judge2 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 20 | 
ソースコード
P = []
for i in [-1, 0, 1]:
    for j in [-1, 0, 1]:
        for k in [-1, 0, 1]:
            P.append([i, j, k])
D = [50, 25, 13, 7, 4, 2, 1]
offset = [0, 0, 0]
for d in D:
    min_val = 10000000000
    for p in P:
        print('? {x} {y} {z}'.format(x=offset[0]+p[0]*d, y=offset[1]+p[1]*d, z=offset[2]+p[2]*d))
        D = int(input())
        if D < min_val:
            min_val = D
            min_p = p
    offset = [offset[0] + min_p[0] * d, offset[1] + min_p[1] * d, offset[2] + min_p[2] * d]
print('! {x} {y} {z}'.format(x=offset[0], y=offset[1], z=offset[2]))
            
            
            
        