CodeForces

来源:互联网 发布:ida如何找到数据 编辑:程序博客网 时间:2024/05/17 07:10

题目链接:http://codeforces.com/problemset/problem/286/A

题目大意:找一个数组满足Ppi = n - i + 1,且生成的数字不重复。

解题思路:找规律,发现四个一组,如果多一个,则中间那个对应为自己

AC代码:

#include<cstdio>  using namespace std;int ans[100000 + 5];int main(){    int n;scanf("%d", &n);    if (!(n % 4 == 0 || n % 4 == 1))    {        puts("-1");        return 0;    }    for (int i = 1;i <= n / 2;i += 2)    {        ans[i] = i + 1;        ans[i + 1] = n - i + 1;        ans[n - i + 1] = n - i;        ans[n - i] = i;    }    if (n % 4)        ans[n / 2 + 1] = n / 2 + 1;    for (int i = 1;i <= n;++i)        printf("%d ", ans[i]);    return 0;}
原创粉丝点击