这个为啥不T
查看原帖
这个为啥不T
1271339
Lukas_gaoxi_yan楼主2024/10/20 09:50
#include<bits/stdc++.h>
using namespace std;
const int N=2e5+100;
int n,a[N],b[N],k;
queue<int> q[N];
template<typename T> void read (T&x)
{
	char c;
	int sign=1;
	x=0;
	do{
		c=getchar();
		if(c=='-') sign=-1;
	}
	while(c>'9'||c<'0');
	do{
		x=x*10+c-'0';
		c=getchar();
	}
	while(isdigit(c));
	x*=sign;
}
int main()
{
	read(n);
	for(int i=1;i<=n;i++) read(a[i]),b[i]=i;
	q[++k].push(b[1]);
	for(int i=2;i<=n;i++)
	{
		if(a[i]==a[i-1]) q[k].push(b[i]);
		else q[++k].push(b[i]);
	}
	while(n!=0)
	{
		for(int i=1;i<=k;i++)
		{
			if(!q[i].empty())
			{
				cout<<q[i].front()<<" ";
				q[i].pop();
				n--;
			}
		}
		cout<<endl;
	}
	
	return 0;
}

2024/10/20 09:50
加载中...