迷路的牛牛(2019校招)

题目链接:

https://www.nowcoder.com/practice/fc72d3493d7e4be883e931d507352a4a?tpId=98&tqId=32827&tPage=1&rp=1&ru=%2Fta%2F2019test&qru=%2Fta%2F2019test%2Fquestion-ranking

题目描述

牛牛去犇犇老师家补课,出门的时候面向北方,但是现在他迷路了。虽然他手里有一张地图,但是他需要知道自己面向哪个方向,请你帮帮他。

输入描述:

每个输入包含一个测试用例。
每个测试用例的第一行包含一个正整数,表示转方向的次数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 }

 

 

 



posted @ 2020-03-23 17:08  sqdtss  阅读(116)  评论(0编辑  收藏  举报