考场代码如下:
#include <iostream>
using namespace std;
int n,f[200010],st,pan[200010],k,la;
int main()
{
cin>>n;
for(int i=1;i<=n;i++) cin>>f[i];
int p=n;
while(p)
{
st=1;
k=1;
while(!(f[st]+1)) st++;
cout<<st;
pan[k]=st;
k++;
la=st;
for(int i=st+1;i<=n;i++)
{
if(f[i]!=-1)
{
if(f[i]+f[la]==1) {cout<<' '<<i;pan[k]=i;k++;}
la=i;
}
}
for(int i=1;i<k;i++) f[pan[i]]=-1;
p-=(k-1);
cout<<endl;
}
return 0;
}