如果您能看懂下列提示,请先尝试去做一下题目,别着急看正式的题解
有两种情况。
[2,1,4,3,6,5...n,n-1]
。形式上,你每隔一对相邻元素就交换一次。这是最优的,因为总的距离是n,它必须是最小的,因为一只猫的距离必须 \(\geq 1\)。[3,1,2]
,然后解决剩余元素的偶数情况。这是最优的,因为距离是 \(n+1\) ,这必须是最小的,因为 \(n\) 的距离是不可能实现的。code:
for _ in range(int(input())):
n=int(input())
a=[i for i in range(1,n+1)]
for i in range(0,n-1,2):
a[i],a[i+1]=a[i+1],a[i]
if(n%2!=0):
a[n-2],a[n-1]=a[n-1],a[n-2]
print(*a)
题解CF1541A 【Pretty Permutations】
原文:https://www.cnblogs.com/qinyihao/p/solution-cf1541a.html