网易
题目描述
牛牛去犇犇老师家补课,出门的时候面向北方,但是现在他迷路了。虽然他手里有一张地图,但是他需要知道自己面向哪个方向,请你帮帮他。
每个输入包含一个测试用例。
每个测试用例的第一行包含一个正整数,表示转方向的次数N(N<=1000)。
接下来的一行包含一个长度为N的字符串,由L和R组成,L表示向左转,R表示向右转。
输出牛牛最后面向的方向,N表示北,S表示南,E表示东,W表示西
我的思路
找L、R规律
#include <iostream>
#include <string>
using namespace std;
int main()
{
int n=0;
cout<<"enter n: ";
cin>>n;
string s;
char res;
cout<<"enter s: ";
cin>>s;
int left=0, right=0;
for(int i=0; i<s.length();i++)
{
if(s[i]=='L') left++;
else right++;
}
int flag = right - left;
switch (flag%4) {
case 0:{res='N'; break;}
case 1:{res='E'; break;}
case 2:{res='S'; break;}
case 3:{res='W'; break;}
case -1:{res='W'; break;}
case -2:{res='S'; break;}
case -3:{res='E'; break;}
}
cout<<res<<endl;
}
运行时间:7ms
占用内存:496k