不要想移动的次数,用五个变量做标记,这样简单些。这题考逻辑的。
while True:
try:
num1 = int(input())
str1 = str(input())
def ktimes(num,str2):
k = 1
for i in range(len(str2)):
if(str2[i] == 'U'):
if(k == 1):
k = num
else:
k -= 1
elif(str2[i] == 'D'):
if(k == num):
k = 1
else:
k += 1
return k
if(num1 <= 4):
k = ktimes(num1,str1)
for i in range(1,num1+1):
if(i != num1):
print(i,end=' ')
else:
print(i)
print(k)
elif(num1 > 4):
k, k1, k2, k3, k4 = 1,1,2,3,4
for i in range(len(str1)):
if(str1[i] == 'U'):
if(k == k1):
if(k1 == 1):
k = num1
k1, k2, k3, k4 = num1-3, num1-2, num1-1, num1
else:
k -= 1
k1 -= 1
k2 -= 1
k3 -= 1
k4 -= 1
else:
k -= 1
if(str1[i] == 'D'):
if(k == k4):
if(k4 == num1):
k, k1, k2, k3, k4 = 1,1,2,3,4
else:
k += 1
k1 += 1
k2 += 1
k3 += 1
k4 += 1
else:
k += 1
print(k1,k2,k3,k4)
print(k)
except:
break


京公网安备 11010502036488号