結果

問題 No.3108 Luke or Bishop
ユーザー ー葵ーAoi
提出日時 2025-04-20 03:12:04
言語 Python3
(3.13.1 + numpy 2.2.1 + scipy 1.14.1)
結果
AC  
実行時間 31 ms / 2,000 ms
コード長 667 bytes
コンパイル時間 509 ms
コンパイル使用メモリ 12,032 KB
実行使用メモリ 10,368 KB
最終ジャッジ日時 2025-04-20 03:12:07
合計ジャッジ時間 2,653 ms
ジャッジサーバーID
(参考情報)
judge2 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 26
権限があれば一括ダウンロードができます

ソースコード

diff #

def min_moves_to_goal(Gx, Gy):
    if Gx == 0 and Gy == 0:
        return 0

    # ルークなら1手または2手で必ず行ける
    if Gx == 0 or Gy == 0:
        return 1
    else:
        rook_moves = 2

    # ビショップが1手で行ける条件
    if Gx == Gy or Gx == -Gy:
        bishop_moves = 1
    elif (Gx + Gy) % 2 == 0:
        bishop_moves = 2  # 色が同じマスには2手で行ける
    else:
        bishop_moves = float('inf')  # 色が違うとビショップでは不可能

    # 最小の手数を選ぶ
    return min(rook_moves, bishop_moves)

# 入力と出力
Gx, Gy = map(int, input().split())
print(min_moves_to_goal(Gx, Gy))
0