思路:
1、将当前光标所在数与当前屏幕展示列表分开声明两个变量index,print_list
print_list初始值区分 num>4 与 num<=4 两种
2、先对光标数进行处理
操作为“U”时,如index为1,则跳转至末尾值num,否则index -= 1
操作为“D”时,如index为num,则跳转至首位值1,否则index += 1
3、对当前展示列表处理
如果单次操作结束后index仍在print_list中,print_list不做处理,同时适用于num>4 与 num<=4
如果单次操作结束后index不在print_list中:
操作为“U”时:index为num,print_list变更为[num-3,num-2, num-1,num];否则,列表每位减1([j-1 for j in print_list])
操作为“D”时:index为1,print_list变更为[1,2,3,4];否则,列表每位加1([j+1 for j in print_list])

import sys
input_info = sys.stdin.readlines()
for i in range(0,len(input_info),2):
    word = input_info[i+1].strip()
    num = int(input_info[i].strip())
    index = 1
    print_list = [1,2,3,4] if num > 4 else [i+1 for i in range(num)]
    w_list = list(word)
    for w in w_list:
        if w == "U":
            index = index-1 if index >1 else num
            if index in print_list:
                continue
            else:
                if index == num:
                    print_list = [num-3,num-2, num-1,num]
                else:
                    print_list = [j-1 for j in print_list]
        elif w=="D":
            index = index + 1 if index < num else 1
            if index in print_list:
                continue
            else:
                if index == 1:
                    print_list = [1,2,3,4]
                else:
                    print_list = [j+1 for j in print_list]
    print_list = [str(i) for i in print_list]
    print(" ".join(print_list))
    print(index)