本地运行,没报错样例都过了,交谷上全都re。感觉是数组越界但找不到。求调一下,不re就行。@kele7 @firacode
#include <bits/stdc++.h>
using namespace std;
int n,len;
char a[205];
int b[205][205],del[205],note[205];
int erase(int r)
{
for(int i=r+1;i<=n;i++)
{
a[i-1]=a[i];
note[i-1]=note[i];
}
}
int main(){
int lazy=1;
cin>>n;
len=n;
a[0]=-1;
for(int i=1;i<=n;i++)
{cin>>a[i];note[i]=i;}
while(len>0)
{
int g=1;
for(int i=1;i<=len;i++)
{
if(a[i]!=a[i-1])
{
b[lazy][g]=note[i];
del[g]=i;
g++;
}
}
for(int i=g-1;i>=1;i--)
{
erase(del[i]);
len--;
// cout<<g<<":";
// for(int i=1;i<=len;i++)cout<<a[i]<<" ";
//cout<<endl;
}
lazy++;
//cout<<endl;
}
for(int i=1;i<=lazy;i++)
{
for(int j=1;j<=n;j++)
{
if(b[i][j]!=0)cout<<b[i][j]<<" ";
}
cout<<endl;
}
return 0;
}