rqn 137 找试场(模拟)

题目连接:http://www.rqnoj.cn/Problem_137.html

解题思路:模拟,水题一道,看代码。

#include <stdio.h>
#include <string.h>
const int N = 10;
const int r[] = {1, 2, 3, 0};
const int l[] = {3, 0, 1, 2};

int n;
char order[N];

int main() {
    while (scanf("%d", &n) == 1) {
	int x = 0, y = 0, dir = 0, flag = 0;
	for (int i = 0; i < n; i++) {
	    scanf("%s", order);
	    if (strcmp(order, "left") == 0)
		dir = l[dir];
	    else if (strcmp(order, "right") == 0)
		dir = r[dir];
	    else {
		int step;
		flag = 1;
		sscanf(order, "%d", &step);
		if (dir == 0)
		    y += step;
		else if (dir == 1)
		    x += step;
		else if (dir == 2)
		    y -= step;
		else if (dir == 3)
		    x -= step;
		printf("(%d,%d)\n", x, y);
	    }
	}
	if (flag == 0)
	    printf("(0,0)\n");
    }
    return 0;
}


你可能感兴趣的:(rqn 137 找试场(模拟))