yukicoder No.48 ロボットの操縦

Problem

No.48 ロボットの操縦 - yukicoder

Solution

Xが0出ない時にはX>0なら時計回りにX<0なら反時計回りに90度向きをかえなければならない。 YがY<0の時には180度向きを変えなければいけない。 最初に回転するためのターン数を計算しておき、そのあとに(X,Y)に向かうターン数を決める。 XとYが負の値であっても絶対値をとってX>=0, Y>=0の値に変えておくと楽。

Code

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        int X = Integer.parseInt(reader.readLine());
        int Y = Integer.parseInt(reader.readLine());
        int L = Integer.parseInt(reader.readLine());

        int minimumCommandCounter = 0;
        if(X!=0) {
            minimumCommandCounter = 1;
        }

        if (Y < 0) {
            minimumCommandCounter = 2;
        }

        X = Math.abs(X);
        Y = Math.abs(Y);
        minimumCommandCounter += (X + L - 1) / L;
        minimumCommandCounter += (Y + L - 1) / L;
        System.out.println(minimumCommandCounter);
    }
}

Remove all ads