样例能过全RE求助

P1160 队列安排

改了一下后输出和数据一样还是RE ```cpp #include<bits/stdc++.h> using namespace std; struct node{ int last,next; bool pd=1; }xs[100001]; void read(int &x) { int f=1; x=0; char ch=getchar(); if(ch<'0'||ch>'9') { f=-1; ch=getchar(); } while(ch>='0'&&ch<='9') { x*=10; x+=ch-'0'; ch=getchar(); } x*=f; } int main() { int n,t=1; xs[1].next=0; xs[1].last=0; read(n); for(int i=2;i<=n;i++) { int k,p; read(k); read(p); if(k==t&&p==0) { t=i; } if(p==0) { if(xs[k].last==0) { xs[k].last=i; xs[i].next=k; } else { xs[i].last=xs[k].last; xs[xs[k].last].next=i; xs[i].next=k; xs[k].last=i; } } else { if(xs[k].next==0) { xs[k].next=i; xs[i].last=k; } else { xs[i].next=xs[k].next; xs[xs[k].next].last=i; xs[i].last=k; xs[k].next=i; } } } int m; read(m); for(int i=1;i<=m;i++) { int x; read(x); if(x==t) { t=xs[x].next; } if(xs[x].pd) { xs[xs[x].last].next=xs[x].next; xs[xs[x].next].last=xs[x].last; xs[x].pd=0; } } while(t!=0) { printf("%d ",t); t=xs[t].next; } return 0; } ``````
by ycy1124 @ 2024-04-06 11:23:06


@[ycy1124](/user/1199534) 请不要使用 `next` 作为变量名,可以换为 `nxt` 等。
by WhileTrueRP @ 2024-04-06 11:28:11


@[ycy1124](/user/1199534) `next` 为 `C++` 关键字。
by WhileTrueRP @ 2024-04-06 11:29:18


@[WhileTrueRP](/user/373198) 改了还是RE ```cpp #include<bits/stdc++.h> using namespace std; struct node{ int L,N; bool pd=1; }xs[100001]; void read(int &x) { int f=1; x=0; char ch=getchar(); if(ch<'0'||ch>'9') { f=-1; ch=getchar(); } while(ch>='0'&&ch<='9') { x*=10; x+=ch-'0'; ch=getchar(); } x*=f; } int main() { int n,t=1; xs[1].N=0; xs[1].L=0; read(n); for(int i=2;i<=n;i++) { int k,p; read(k); read(p); if(k==t&&p==0) { t=i; } if(p==0) { if(xs[k].L==0) { xs[k].L=i; xs[i].N=k; } else { xs[i].L=xs[k].L; xs[xs[k].L].N=i; xs[i].N=k; xs[k].L=i; } } else { if(xs[k].N==0) { xs[k].N=i; xs[i].L=k; } else { xs[i].N=xs[k].N; xs[xs[k].N].L=i; xs[i].L=k; xs[k].N=i; } } } int m; read(m); for(int i=1;i<=m;i++) { int x; read(x); if(x==t) { t=xs[x].N; } if(xs[x].pd) { xs[xs[x].L].N=xs[x].N; xs[xs[x].N].L=xs[x].L; xs[x].pd=0; } } while(t!=0) { printf("%d ",t); t=xs[t].N; } return 0; } ``````
by ycy1124 @ 2024-04-06 11:37:11


快读有问题
by xuzihao12345 @ 2024-04-24 19:19:05


|