报错不知怎么改,求助
查看原帖
报错不知怎么改,求助
505281
D_M_楼主2021/11/24 16:48
#include <bits/stdc++.h>
using namespace std;
struct node{
	int left;
	int right;
	queue <int> que;
}list[200010];
int n=0;
int curInt=0,cur=-1,j=0;
int main(){
	cin >> n;
	for(int i=1;i<=n;i++){
		cin >> curInt;
		if(curInt!=cur){
			j++;
			list[j].que.push(i);
			cur=curInt;
		}else{
			list[j].que.push(i);
		}
	}
	list[0].right=1;
	list[j+1].left=j;
	for(int i=1;i<=j;i++){
		list[i].right=i+1;
		list[i].left=i-1;
	}
	while(list[0].right != j+1;list[i].right){
		cout << list[i].que.tail() << " ";
		list[i].que.pop();
		if(list[i].que.empty()){
			list[list[i].left].right=list[i].right;
			list[list[i].right].left=list[i].left;
			while(!list[list[i].right].que.empty){
			list[list[i].right].que.push(list[list[i].righr].que.taik);
			list[list[i].right=list[i].right];
			}
		}
		cout << endl;
	}
	return 0;
}
2021/11/24 16:48
加载中...