#include <iostream>
using namespace std;
int n;
int main()
{
while(scanf("%d",&n)==1&&n){
if(n%6!=2&&n%6!=3){
for(int i=2;i<=n;i+=2)
printf("%d ",i);
for(int i=1;i<=n;i+=2)
printf("%d ",i);
puts("");
}else{
int k=n/2;
if(k%2==0&&n%2==0){
for(int i=k;i<=n;i+=2)
printf("%d ",i);
for(int i=2;i<=k-2;i+=2)
printf("%d ",i);
for(int i=k+3;i<=n-1;i+=2)
printf("%d ",i);
for(int i=1;i<=k+1;i+=2)
printf("%d ",i);
}
if(k%2==0&&n%2==1){
for(int i=k;i<=n-1;i+=2)
printf("%d ",i);
for(int i=2;i<=k-2;i+=2)
printf("%d ",i);
for(int i=k+3;i<=n-2;i+=2)
printf("%d ",i);
for(int i=1;i<=k+1;i+=2)
printf("%d ",i);
printf("%d",n);
}
if(k%2==1&&n%2==0){
for(int i=k;i<=n-1;i+=2)
printf("%d ",i);
for(int i=1;i<=k-2;i+=2)
printf("%d ",i);
for(int i=k+3;i<=n;i+=2)
printf("%d ",i);
for(int i=2;i<=k+1;i+=2)
printf("%d ",i);
}
if(k%2==1&&n%2==1){
for(int i=k;i<=n-2;i+=2)
printf("%d ",i);
for(int i=1;i<=k-2;i+=2)
printf("%d ",i);
for(int i=k+3;i<=n-1;i+=2)
printf("%d ",i);
for(int i=2;i<=k+1;i+=2)
printf("%d ",i);
printf("%d",n);
}
puts("");
}
}
return 0;
}
poj 3239 Solution to the n Queens Puzzle n皇后问题的构造解法
最新推荐文章于 2018-09-20 17:22:21 发布