結果

問題 No.48 ロボットの操縦
ユーザー R N
提出日時 2020-07-25 18:03:29
言語 Python3
(3.13.1 + numpy 2.2.1 + scipy 1.14.1)
結果
TLE  
実行時間 -
コード長 1,319 bytes
コンパイル時間 76 ms
コンパイル使用メモリ 12,672 KB
実行使用メモリ 17,820 KB
最終ジャッジ日時 2024-06-27 11:08:58
合計ジャッジ時間 6,724 ms
ジャッジサーバーID
(参考情報)
judge4 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 3 TLE * 1 -- * 21
権限があれば一括ダウンロードができます

ソースコード

diff #

# coding:utf-8

# ロボットの目指す座標(X,Y)とロボットの最大前進可能距離Lを用意する
X = int(input())
Y = int(input())
L = int(input())

# ロボットの方向変換回数カウンタ変数を作っておく
C = 0

# Y軸に対して進行方向を向かせる(初期値は+Yの方向を向いている)
# 座標に関係なく、方向変換は最大2回しか行われない
if Y == 0:
    if X == 0:
        C += 0
    elif X != 0:
        C += 1
elif Y < 0:
    C += 2
elif Y > 0:
    if X == 0:
        C+= 0
    elif X != 0:
        C += 1

# ロボットX方向に進んだ距離を入れる変数と動かした回数をカウントする変数を作っておく
R_x = 0
C_x = 0

# whileループでX方向に動かす
X = abs(X)
while True:
    if X == 0:
        break
    elif X / 2 <= R_x:
        break
    else:
        R_x += L
        C_x += 1

if R_x >= X:
    pass
else:
    C_x += 1

# ロボットY方向に進んだ距離を入れる変数と動かした回数をカウントする変数を作っておく
R_y = 0
C_y = 0

# whileループでY方向に動かす
Y = abs(Y)
while True:
    if Y == 0:
        break
    elif Y / 2 <= R_y:
        break
    else:
        R_y += L
        C_y += 1

if R_y >= Y:
    pass
else:
    C_y += 1

ans = C + C_x + C_y
print(ans)
0