牛牛去犇犇老师家补课,出门的时候面向北方,但是现在他迷路了。虽然他手里有一张地图,但是他需要知道自己面向哪个方向,请你帮帮他。
https://www.nowcoder.com/questionTerminal/09e577022dac4220b3e8203f97c2ef59?answerType=1&f=discussion
输入描述:
每个输入包含一个测试用例。
每个测试用例的第一行包含一个正整数,表示转方向的次数N(N<=1000)。
接下来的一行包含一个长度为N的字符串,由L和R组成,L表示向左转,R表示向右转。
输出描述:
输出牛牛最后面向的方向,N表示北,S表示南,E表示东,W表示西。
示例1
输入
3
LRR
输出
E
思路:
L
和R
相互抵消,剩下的方向real
(全是 L
或全是 R
)
real % 4
的值就是方向,剩下的方向是 L
还是 R
,用tmp
来记录。
实际上,只要注意W
和E
, 如果是逆时针方向转(L
),要改变一下判断的值
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int nL = 0,nR = 0;
String s = sc.next();
for(int i=0;i<s.length();i++){
if(s.charAt(i)==('L')){
nL ++;
}else nR++;
}
int real = Math.abs(nL-nR);
int tmp = nL>nR?2:0;
if(real %4==0){
System.out.println("N");
}else if(real %4==1+tmp){
System.out.println("E");
}else if(real %4==2){
System.out.println("S");
}else if(real %4==3-tmp){
System.out.println("W");
}
}
}