import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
while (in.hasNext()) { // 注意 while 处理多个 case
int n = in.nextInt();
String next = in.next();
if (n <= 4){
char[] chars = next.toCharArray();
int x = 1;
for (int i = 0; i < chars.length; i++) {
char c = chars[i];
if (c == 'U'){
if (x - 1 < 1){
x = n;
continue;
}
x--;
continue;
}
if (c == 'D'){
if (x + 1 > n){
x = 1;
continue;
}
x++;
}
}
for (int i = 1; i <= n; i++) {
System.out.print(i +" ");
}
System.out.println();
System.out.println(x);
continue;
}
int[] ints = new int[4];
for (int i = 0; i < 4; i++) {
ints[i] = i+1;
}
int index = 1;
char[] chars = next.toCharArray();
for (int i = 0; i < chars.length; i++) {
char c = chars[i];
if (c == 'U'){
// 特殊情况处理
if (index - 1 < 1){
index = n;
for (int j = 0,k = 3; j < 4; j++,k--) {
ints[j] = n-k;
}
continue;
}
index--;
// 向上时超出定格的上限,修改
if (index < ints[0]){
for (int j = 0,k = index; j < 4; j++,k++) {
ints[j] = k;
}
}
}
if (c == 'D'){
if (index + 1 > n){
index = 1;
for (int j = 0,k = 1; j < 4; j++,k++) {
ints[j] = k;
}
continue;
}
index++;
if (index > ints[3]){
for (int j = 0,z = 3; j < 4; j++,z--) {
ints[j] = index - z;
}
}
}
}
for (int i = 0; i < 4; i++) {
System.out.print(ints[i] + " ");
}
System.out.println();
System.out.println(index);
}
}
}



京公网安备 11010502036488号