https://codeforces.com/contest/1541/problem/A
시간 1초, 메모리 256MB
input :
output :
조건 :
예제가 매우 큰 힌트이다.
홀수와 짝수일 때로 나눠서 경우를 생각할 수 있는데 짝수의 경우에는
짝 홀 짝 홀 ... 순서로 나열을 하면 최소한으로 움직이게 할 수 있다.
그러면 홀수일때도 비슷하게 해야하긴 하는데 어디에서 숫자를 빼와야 가장 적게 움직이게 할 수 있을 까
특정구간 [홀1 짝 홀2]의 구간에서 [2홀 1홀 짝]의 순서로 바꿔 준다면 최소한의 움직임을 가져갈 수 있다.
그러고 나서는 위의 짝수일 때와 동일하게 한다.
import sys
for _ in range(int(sys.stdin.readline())):
n = int(sys.stdin.readline())
ans = []
if n % 2 == 1:
ans = [3, 1, 2]
for i in range(4, n, 2):
ans.append(i + 1)
ans.append(i)
print(*ans)
continue
for i in range(1, n, 2):
ans.append(i + 1)
ans.append(i)
print(*ans)