2017CCPC哈尔滨 F:Permutation(构造)

来源:互联网 发布:电子相册软件源码 编辑:程序博客网 时间:2024/05/10 00:57

目链接:http://acm.hdu.edu.cn/contests/contest_showproblem.php?pid=1006&cid=784


题意:

让你构造一个1到n的全排列,满足对于所有的i>=3,都有a[i]%|a[i]-a[i-2]|==0


思路:假设n=10

构造出的序列就是:1 6 2 7 3 8 4 9 5 10

OK

//2017CCPC哈尔滨--F#include<stdio.h>int a[100005];int main(void){int T, n, i, now;scanf("%d", &T);while(T--){scanf("%d", &n);now = 0;for(i=1;i<=n;i+=2)a[i] = ++now;for(i=2;i<=n;i+=2)a[i] = ++now;printf("%d", a[1]);for(i=2;i<=n;i++)printf(" %d", a[i]);printf("\n");}return 0;}