Problem Description
给你一个n,让你制造出一个序列满足ppi = i &&pi ≠ i. 想要满足ppi = i && pi ≠ i.就是两个下标交换一下位置。所以n为奇数的时候是满足不了的。n为偶数的时候,直接交换输出序列就好了。
代码:偶数直接2,1,4,3….的输出就可以满足序列了
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n;
while(~scanf("%d", &n))
{
if(n % 2 != 0) {
//奇数
printf("-1\n");
}
else
//偶数
{
int c = 2;
printf("%d", c);
printf(" %d", c - 1);
c = c + 2;
for(int i = 1; i <= (n - 2) / 2; i++)
{
printf(" %d", c);
printf(" %d", c - 1);
c = c + 2;
}
printf("\n");
}
}
}