Permutation HDU - 6235

2018TYUT暑期ACM模拟赛(6)
Permutation HDU - 6235
题意&思路:给你n表示n个数,给出一个派来,排列的要求是pi%(pi-pi(i-2))==0。很巧妙,只要pi-pi-2=1 也就是pi%1==0。只要隔二加一即可。

#include<iostream>
#include<cstdio>
using namespace std;
const int maxn=1e5+10;
int a[maxn];
int main()
{
    int t,n;
    scanf("%d",&t);
    while(t--)
    {
        scanf("%d",&n);
        int cnt=1;
        for(int i=1;i<=n;i+=2) a[i]=cnt++;
        for(int i=2;i<=n;i+=2) a[i]=cnt++;
        for(int i=1;i<=n;i++) i==1?printf("%d",a[i]):printf(" %d",a[i]);
            printf("\n");
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/Miranda_ymz/article/details/81168618
今日推荐