一把过,哈哈
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.valueOf(br.readLine());
String s = br.readLine();
if (n <= 4) {
StringBuffer sb = new StringBuffer();
for(int i = 1; i <= n; i++) {
sb.append(i).append(" ");
}
System.out.println(sb.toString().trim());
int current = 1;
for(int i = 0; i < s.length(); i++) {
if (s.charAt(i) == 'U') {
if(current > 1) {
current--;
} else {
current = n;
}
} else {
if(current < n) {
current++;
} else {
current = 1;
}
}
}
System.out.println(current);
} else {
int current = 1;
List<Integer> onScreen = Arrays.asList(1, 2, 3, 4);
for(int i = 0; i < s.length(); i++) {
if (s.charAt(i) == 'U') {
if (current == 1) {
current = n;
onScreen = Arrays.asList(n - 3, n - 2, n - 1, n);
} else if (current == onScreen.get(0)) {
current--;
onScreen = Arrays.asList(current, current + 1, current + 2, current + 3);
} else {
current--;
}
} else {
if (current == n) {
current = 1;
onScreen = Arrays.asList(1, 2, 3, 4);
} else if (current == onScreen.get(3)) {
current++;
onScreen = Arrays.asList(current - 3, current - 2, current - 1, current);
} else {
current++;
}
}
}
System.out.println(onScreen.stream().map(k -> String.valueOf(k)).reduce((a, b)-> a + " " + b).get());
System.out.println(current);
}
}
}

京公网安备 11010502036488号