1

云之南隅 · 发布于 2026-01-28 · 浏览 210 回复 0

include

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;

}

全部回复 共 0 条

还没有人回复。往下写第一条。

发表回复