完美洗牌 题解
2026-01-01 15:17:00
发布于:北京
20阅读
0回复
0点赞
本题很简单,按照题意在”一个确定置换作用下,找字符串的最小周期“这个方向进行模拟即可。
t = int(input())
for i in range(t):
n = int(input())
s0 = list(input().strip())
p = [0] * n
h = n // 2
for i in range(n):
if i < h:
p[i] = 2 * i
else:
p[i] = 2 * (i - h) + 1
s = s0[:]
k = 0
while True:
t = [0] * n
for i in range(n):
t[p[i]] = s[i]
s = t
k += 1
if s == s0:
print(k)
break
这里空空如也





有帮助,赞一个