求助 样例过了但全WA

P1188 PASTE

蓝色多瑙河 @ 2023-08-17 16:55:04

一组数据没过 九组数据显示读入了0 求解为什么会错

#include<bits/stdc++.h>
using namespace std;
int n,k;
struct lb
{
    int zhi,xia,up;
}e[100005];
int main()
{
    cin>>n>>k;
    for(int i=1;i<=n;i++)
    {
        //是否需要判断末尾? 
        e[i].zhi=i;e[i].xia=i+1;e[i].up=i-1;
    }
    e[0].zhi=0;e[0].xia=1;e[n].xia=0;
    for(int i=1;i<=k;i++)
    {
        int aa,bb,cc,A=0,B=0,C=0;
        cin>>aa>>bb>>cc;
        for(int j=0;j<aa;j++)
        {
            A=e[A].xia;
        }
        for(int j=0;j<bb;j++)
        {
            B=e[B].xia;
        }
        for(int j=0;j<cc;j++)
        {
            C=e[C].xia;
        }
        e[e[A].up].xia=e[B].xia;
        e[e[B].xia].up=e[A].up;

        e[B].xia=e[C].xia;
        e[e[C].xia].up=B;
        e[C].xia=A;
        e[A].up=C;
    }
    int zz=0;
    for(int i=1;i<=10;i++)
    {
        zz=e[zz].xia;
        cout<<e[zz].zhi<<endl;
    }

    return 0;
 } 

by 某个新手 @ 2023-08-17 17:27:50

C表示被剪切下来的文本待插入处的前一行

所以

e[e[A].up].xia=e[B].xia;
e[e[B].xia].up=e[A].up;

要在

for(int j=0;j<cc;j++)
{
   C=e[C].xia;
}

之前


|