Test Message

c315: I, ROBOT 前傳

內容

小明有一台機器人,藉由對機器人下達指令,小明可以控制機器人的移動。

機器人一開始在原點(x=0, y=0)的位置。

下達了很多個指令後,小明卻找不到他的機器人最後移動到哪一格,他把所有下過的指令都給你,請你幫他計算機器人最後移動到了哪一格?

機器人的指令由兩個數字 a b 組成, a 代表移動的方向,b 代表移動的格子數。

a = 0 時表示往 y 正方向移動

a = 1 時表示往 x 正方向移動

a = 2 時表示往 y 負方向移動

a = 3 時表示往 x 負方向移動

舉例如下:a=2 b=3 時代表往 y 的負方向移動 3 格。

img1


輸入

第 1 行有一個數字 N,表示小明下過的指令數。

接下來 N 行,依序為機器人收到的指令,每行有兩個數字 a b。

(0 <= a <= 3)

(b >= 0)

4
0 10
1 4
2 3
3 6

輸出

請輸出兩個整數,x y,中間用一個空格分隔。

表示機器人最後停的位置。

-2 7


解題思路

簡單的條件判斷。


完整程式碼

AC (2ms, 108KB)
#include <stdio.h>

int main()
{
int n, x, y, a, b;
while (scanf(" %d", &n) == 1)
{
x = y = 0;
for (int i = 0; i < n; i++)
{
scanf(" %d %d", &a, &b);
switch (a)
{
case 0:
y += b;
break;
case 1:
x += b;
break;
case 2:
y -= b;
break;
default:
x -= b;
break;
}
}
printf("%d %d\n", x, y);
}
return 0;
}