迷路的牛牛(2019校招)
题目链接:
题目描述
牛牛去犇犇老师家补课,出门的时候面向北方,但是现在他迷路了。虽然他手里有一张地图,但是他需要知道自己面向哪个方向,请你帮帮他。
输入描述:
每个输入包含一个测试用例。
每个测试用例的第一行包含一个正整数,表示转方向的次数N(N<=1000)。
接下来的一行包含一个长度为N的字符串,由L和R组成,L表示向左转,R表示向右转。
输出描述:
输出牛牛最后面向的方向,N表示北,S表示南,E表示东,W表示西。
示例1
输入
3 LRR
输出
E
分析:
1 // 模拟题,每次左移pos-1,右移pos+1(pos=0代表北) 2 3 #include <bits/stdc++.h> 4 using namespace std; 5 6 char s[4] = {'N', 'E', 'S', 'W'}; // 分别代表北东南西 7 8 int main() 9 { 10 int n; 11 while (scanf("%d", &n) != EOF) 12 { 13 char inpt[1000 + 10]; 14 cin >> inpt; 15 int pos = 0; 16 for (int i = 0; i < strlen(inpt); i++) // 先将pos算出来 17 if (inpt[i] == 'L') 18 pos--; 19 else 20 pos++; 21 pos = (pos % 4 + 4) % 4; // pos%4即为答案,但是pos%4可能为负数,故加4再%4 22 printf("%c\n", s[pos]); 23 } 24 return 0; 25 }