云之南隅 • 18天前
using namespace std; int a[3005],book[1000000]; int main() {
int n;
cin>>n;
a[1]=1,book[1]=1;
for(int i=2;i<=n;i++){
if(a[i-1]-i>0&&book[a[i-1]-i]==0)
a[i]=a[i-1]-i;
else
a[i]=a[i-1]+i;
book[a[i]]=1;
}
for(int i=1;i<n;i++){
bool swapped=false;
for(int j=1;j<=n-i;j++){
if(a[j]>a[j+1]){
swap(a[j],a[j+1]);
swapped=true;
}
}
if(!swapped){
break;
}
}
for(int i=1;i<=n;i++)
cout<<a[i]<<' ';
return 0;
}
评论:
请先登录,才能进行评论