数组越界求助
查看原帖
数组越界求助
551788
Miyamizu_Mitsuha楼主2023/8/10 20:28

本地运行,没报错样例都过了,交谷上全都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;
}
2023/8/10 20:28
加载中...