UVa 12503 - Robot Instructions

題目:一個機器人,站在一維數軸的原點,有一串指令,分別為:向左一位、向右一位、和第i步相同;

            問最後位置。

分析:模擬。直接模擬即可。

            原始位置是0,向左-1,向右+1,計算數組和即可。

說明:╮(╯▽╰)╭。

#include <algorithm>
#include <iostream>
#include <cstdlib>
#include <cstring>
#include <cstdio>
#include <cmath>

using namespace std;

int  step[101];
char temp[101];

int main()
{
	int t,n,same;
	while (~scanf("%d",&t))
	while (t --) {
		scanf("%d",&n);
		for (int i = 1 ; i <= n ; ++ i) {
			scanf("%s",temp);
			if (!strcmp(temp, "LEFT"))
				step[i] = -1;
			else if (!strcmp(temp, "RIGHT"))
				step[i] = 1;
			else {
				scanf("%s%d",&temp,&same);
				step[i] = step[same];
			}
		}
		int x = 0;
		for (int i = 1 ; i <= n ; ++ i)
			x += step[i];
		printf("%d\n",x);
	}
    return 0;
}


你可能感兴趣的:(UVa 12503 - Robot Instructions)