蒟蒻求助
查看原帖
蒟蒻求助
975719
lahmyyc314楼主2023/11/25 11:29
#include <iostream>
#include <queue>
using namespace std;
struct k{
	int L,R,num;
};
queue<k>a;
k lk;
int main(){
	int n,flag=2,b,sum=0,k=0;
	cin>>n;
	for(int i=1;i<=n;i++){
		scanf("%d",&b);
		if(flag!=b){
			a.push({i,i,b});
			flag=b;
		}
		else{
			++a.back().R;
		}
	}
	flag=2;
	while(a.size()){
		int o=a.size();
		for(int i=1;i<=o;i++){
			if(a.front().L<=a.front().R){
				if(flag!=a.front().num){
					flag=a.front().num;
					printf("%d ",a.front().L);
					++a.front().L;
					sum++;
					lk=a.front();
					a.pop();
					a.push(lk);
				
				} 
				else{
					lk=a.front();
					a.pop();
					a.push(lk);
				}
			}
			else{
				a.pop();
			}
		}
		printf("\n");
		flag=2;
	}
	return 0;
}

8,9,T了

2023/11/25 11:29
加载中...