代码:
#include <iostream>
#include <cstdio>
using namespace std;
int c[50020][2];
int g[50020];
int pd(int i)
{
if(g[i])
{
if((i-g[i])%2==0)
{
return 0;
}
}
return 1;
}
int main()
{
int n;
cin>>n;
int a,b;
cin>>a;
int len=1;
c[1][1]=1;
c[1][0]=1;
for(int i=2;i<=n;i++)
{
scanf("%d",&b);
if(b==a)
{
c[len][0]++;
}
else
{
c[++len][0]++;
c[len][1]=i;
}
a=b;
}
int k=n;
int l=1;
while(k)
{
for(int i=1;i<=len;i++)
{
if(c[i][0])
{
g[i+1]=i;
}
else
{
g[i+1]=g[i];
}
}
for(int i=1;i<=len;i++)
{
if(c[i][0]&&pd(i))
{
c[i][0]--;
k--;
printf("%d ",c[i][1]);
c[i][1]++;
}
}
cout<<endl;
l++;
}
return 0;
}