每个输入包含一个测试用例。
每个测试用例的第一行包含一个正整数,表示转方向的次数N(N<=1000)。
接下来的一行包含一个长度为N的字符串,由L和R组成,L表示向左转,R表示向右转。
输出牛牛最后面向的方向,N表示北,S表示南,E表示东,W表示西。
3 LRR
E
import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String strN = br.readLine(); String rotateSeq = br.readLine(); char curStatus = 'N'; for(int i = 0; i < rotateSeq.length(); i++) curStatus = rotate(curStatus, rotateSeq.charAt(i)); System.out.println(curStatus); } /** 转向方法,输出当前朝向curstatus下向direction转向后的朝向 */ private static char rotate(char curStatus, char direction) { if(curStatus == 'N'){ if(direction == 'L') return 'W'; else return 'E'; }else if(curStatus == 'S'){ if(direction == 'L') return 'E'; else return 'W'; }else if(curStatus == 'E'){ if(direction == 'L') return 'N'; else return 'S'; }else{ if(direction == 'L') return 'S'; else return 'N'; } } }
import java.util.*;import java.lang.*;public class Main{public static void main(String[] args){Scanner sc = new Scanner(System.in);int n = sc.nextInt();String str = sc.next();//分割字符串,统计转的次数char[] arr = str.toCharArray();int L = 0,R = 0;for(int i=0; i<arr.length; i++){if(arr[i] == 'L') L++;else R++;}L %= 4;R -= L;R %= 4;char result = 'N';//开始向左转switch(L){case 0: break;case 1: result='W';break;case 2: result='S';break;case 3: result='E';break;}//开始向右转switch(R){case 0: break;case 1: result='E';break;case 2: result='S';break;case 3: result='W';break;}System.out.println(result);}}