如果这段代码我们这样写
ll pos;
for(i=2; i<=cnt; i++)
{
if(q[i].ans!=q[i-1].ans)
{
pos=i;
break;
}
}
cout<<q[1].ans<<" "<<pos-1<<endl;
for(j=1; j<pos; j++)
printf("%d ",q[j].seat);
会导致三个re,但是如果这样写:
for(i=2; i<=cnt; i++)
{
if(q[i].ans!=q[i-1].ans)
break;
}
cout<<q[1].ans<<" "<<i-1<<endl;
for(j=1; j<i; j++)
printf("%d ",q[j].seat);
就可以过了。
(写完题目后发现自己和第二篇题解思路接近但不对,找了半天错误出在这但不知道原因)