A permutation is a sequence of integers p1, p2, ..., pn, consisting of n distinct positive integers, each of them doesn't exceed n. Let's denote the i-th element of permutation p as pi. We'll call number n the size of permutation p1, p2, ..., pn.
Nickolas adores permutations. He likes some permutations more than the others. He calls such permutations perfect. A perfect permutation is such permutation p that for any i (1 ≤ i ≤ n) (n is the permutation size) the following equations hold ppi = i and pi ≠ i. Nickolas asks you to print any perfect permutation of size n for the given n.
A single line contains a single integer n (1 ≤ n ≤ 100) — the permutation size.
If a perfect permutation of size n doesn't exist, print a single integer -1. Otherwise print n distinct integers from 1 to n, p1, p2, ..., pn — permutation p, that is perfect. Separate printed numbers by whitespaces.
1
-1
2
2 1
4
2 1 4 3
水题,题意不是很清楚,但是推测了一下,就过了
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int inf = 0x3f3f3f3f;
int main()
{
// freopen("shuju.txt","r",stdin);
int n;
cin>>n;
if(n&1)
printf("-1\n");
else
{
for(int i=1;i<=n/2;i++)
{
if(2*i==n)
{
printf("%d %d\n",2*i,2*i-1);
}
else
printf("%d %d ",2*i,2*i-1);
}
}
return 0;
}
本文介绍了一种名为“完美排列”的特殊排列类型,并提供了一个简单的算法实现。完美排列是指在一个排列中,对于每一个位置i,其对应的元素pi不等于i且ppi等于i。文章给出了针对不同排列大小n的有效解决方案。
391

被折叠的 条评论
为什么被折叠?



