codeforces 640 div4 G

    技术2022-07-10  144

    我觉得E比他还简单,为什么过的人却没有G多……

    其实一开始想的+2选数是对的,再想一下,处理一些情况就可以了,要是以后太小的数/特殊的数感觉找不出规律,可以找一些中等大小和正常的数找规律,然后特判就好了。

    #include<cstdio> #include<algorithm> #include<iostream> #include<cstring> using namespace std; int t,n; int main() { cin>>t; while(t--) { scanf("%d",&n); if(n<=3) { printf("-1\n"); continue; } else if(n==4) { printf("3 1 4 2\n"); } else { /*for(int i=1;i<=n;i+=2) { printf("%d ",i); }*/ if(n%2==0) { for(int i=1;i<=n;i+=2) { printf("%d ",i); } printf("%d ",n-4); for(int i=n;i>=1;i-=2) { if(i!=n-4) { printf("%d ",i); } } } else { for(int i=1;i<=n;i+=2) { printf("%d ",i); } printf("%d ",n-3); for(int i=n-1;i>=1;i-=2) { if(i!=n-3) printf("%d ",i); } } printf("\n"); } } }
    Processed: 0.012, SQL: 9