欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

Codeforces Round #144 (Div. 2)-A. Perfect Permutation_html/css_WEB-ITnose

程序员文章站 2022-06-17 08:33:08
...
Perfect Permutation

time limit per test

2 seconds

memory limit per test

256 megabytes

input

standard input

output

standard output

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 perfectpermutation 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.

Input

A single line contains a single integer n (1?≤?n?≤?100) ? the permutation size.

Output

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.

Sample test(s)

input

output

-1

input

output

2 1 

input

output

2 1 4 3 




解题思路:贪心。直接构造。如果n为奇数,则不能构成满足要求的排列;否则,两个两个的构造,如2,1;4,3。。。以此类推即可。







AC代码:

#include #include #include #include #include #include #include #include #include #include #include #include using namespace std;#define INF 0x7fffffffint main(){    #ifdef sxk        freopen("in.txt","r",stdin);    #endif    int n;    while(scanf("%d",&n)!=EOF)    {        if(n&1){            printf("-1\n");            continue;        }        else{            for(int i=1; i