今天我们打模拟赛的时候,我写的一份代码本地(Dev+linux)都编译无误,提交却显示compile error code:
#include<bits/stdc++.h>
using namespace std;
int size[200001],tail[200001],sta[200001],end[200001],n,m;
int tocnt=0;
bool flag=0;
void clean(int x,int oh)
{
int col=sta[x],pos=-1,h=1;
for (int i=1;i<=tocnt;++i)
{
if (i>tail[h]) i=end[h]+1;
if (i==end[h]+1) ++h;
if (i !=x&&sta[i]==col)
{
pos=i;
break;
}
}
// cout<<pos<<endl;
if (h==oh)
{
cout<<"No"<<endl;
flag=1;
return;
}
for (int i=tail[h];i>pos;--i)
{
clean(i,h);
}
--tail[h];
--tail[oh];
}
int main()
{
freopen("ball.in","r",stdin);
freopen("ball.out","w",stdout);
cin>>n>>m;
for (int i=1;i<=m;++i)
{
cin>>size[i];
for (int j=1;j<=size[i];++j)
{
cin>>sta[++tocnt];
}
tail[i]=tocnt;
end[i]=tocnt;
}
for (int i=1;i<=m;++i)
{
for (int j=tail[i];j>end[i-1];--j)
{
clean(j,i);
if (flag) return 0;
}
}
cout<<"Yes"<<endl;
return 0;
}