結果
問題 | No.1149 色塗りゲーム |
ユーザー |
![]() |
提出日時 | 2020-08-07 21:58:58 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 175 ms / 2,000 ms |
コード長 | 1,117 bytes |
コンパイル時間 | 163 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 27,744 KB |
平均クエリ数 | 19.82 |
最終ジャッジ日時 | 2024-07-17 04:40:25 |
合計ジャッジ時間 | 8,692 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 50 |
ソースコード
def main(): N = int(input()) # filled = [False] * N # 戦略 # 1. 中央のマスを塗り、左右のマスの数が同じになるようにする # (N=奇数なら中央1マス、偶数なら中央2マスを塗る) # 2. 相手が塗ったマスに対して、鏡写しになる感じでマスを塗っていく # 例: N=9 # ....X.... 自分 # .X..X.... 相手 # .X..X..X. 自分 # .XXXX..X. 相手 # .XXXXXXX. 自分 # XXXXXXXX. 相手 # XXXXXXXXX 自分 x = (N + 1) // 2 k = 2 - (N % 2) print(k, x, flush=True) # center = N // 2 # for i in range(x-1, x-1+k): # filled[i-1] = True while True: t = int(input()) # 終了条件 if t == 0 or t == 1: return # 相手が塗ったマスの数と位置 enemy_k, enemy_x = map(int, input().split()) k = enemy_k # 相手が塗った数だけ自分も塗る x = N + 2 - enemy_x - k # 鏡写しにした時の小さいほうの位置 print(k, x, flush=True) if __name__ == '__main__': main()