CE求助
查看原帖
CE求助
526765
m249_chen楼主2022/2/26 18:22
#include<bits/stdc++.h>
using namespace std;
const int N=200005;
bool flag=1;
vector<int> f,fnum;
int lc[N];
int qk(vector<int> a,vector<int>anum,int n){
	int cnt=0;
	for(int i=1;i<n;i++){
		if((f[i]!=f[i+1]&&f[i]!=2&&f[i+1]!=2)||(i!=1&&f[i-1]==2)){
			lc[cnt]=i;
			cnt++;
		}else{
			cnt++;
			continue;
		}
	}
	return cnt;
}
int main(){
	int n,num;
	cin>>n;
	for(int i=1;i<=n;i++){
		f.push_back(i);
		fnum[i]=i;
	}
	while(1){
		for(int i=1;i<=n;i++){
			if(f[i]!=2){
				flag=0;
				break;
			}
		}
		if(flag){
			return 0;
		}
		num=qk(f,fnum,n);
		for(int i=1;i<=num;i++){
			cout<<fnum[lc[i]]<<" ";
			f[lc[i]]=2;
			fnum[lc[i]]=0;
		}
		cout<<endl;
		flag=1;
	}
	return 0;
}

不知道为什么最后删除出错了QAQ 求大佬解答

2022/2/26 18:22
加载中...