一、题目
二、代码
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while (in.hasNext()) {
int num = in.nextInt();
String steps = in.next();
if (num<=4)
handlerLow4(num,steps);
else
handlerUp4(num,steps);
}
}
private static void handlerUp4(int num, String steps) {
int begin = 1,cur = 1;
for (int i = 0; i < steps.length(); i++) {
char s = steps.charAt(i);
if (s == 'U') {
if (cur == 1) {
cur = num;
begin = num -3;
} else if (cur == begin) {
cur--;
begin--;
} else {
cur--;
}
} else {
if (cur == num) {
cur = 1;
begin = 1;
} else if (cur == begin+3) {
cur++;
begin++;
} else {
cur++;
}
}
}
print(begin,num,cur);
}
private static void print(int begin, int num, int cur) {
StringBuilder sb = new StringBuilder();
for(int i=1;i<=4;i++) {
if(num >=i) {
sb.append(begin + i -1).append(" ");
}
}
System.out.println(sb.toString().trim());
System.out.println(cur);
}
private static void handlerLow4(int num, String steps) {
int cur = 1,start = 1;
for (int i = 0; i < steps.length(); i++) {
char s = steps.charAt(i);
if (s == 'U') {
if (cur == 1) {
cur = num;
} else {
cur--;
}
} else {
if (cur == num) {
cur = 1;
} else {
cur++;
}
}
}
print(start,num,cur);
}
}