1
class Robot {
2

3
int p;
4
int w;
5
int h;
6

7
public Robot(int width, int height) {
8
w = width - 1;
9
h = height - 1;
10
p = 0;
11
}
12

13
public void step(int num) {
14
p += num;
15
}
16

17
public int[] getPos() {
18
int remain = p % (2 * (w + h));
19
if (remain <= w) return new int[] {remain, 0};
20
remain -= w;
21
if (remain <= h) return new int[] {w, remain};
22
remain -= h;
23
if (remain <= w) return new int[] {w - remain, h};
24
remain -= w;
25
return new int[] {0, h - remain};
26
}
27

28
public String getDir() {
29
int[] pos = getPos();
30
if (p == 0 || pos[1] == 0 && pos[0] > 0) return "East";
31
else if (pos[0] == w && pos[1] > 0) return "North";
32
else if (pos[1] == h && pos[0] < w) return "West";
33
else return "South";
34
}
35
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0