社区讨论
求问什么叫Too short on line 0
P1160队列安排参与者 2已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @mi4hl4uv
- 此快照首次捕获于
- 2025/11/18 19:24 4 个月前
- 此快照最后确认于
- 2025/11/18 19:24 4 个月前
CPP
#include<cstdio>
#include<iostream>
#include<cstring>
#include<string>
using namespace std;
struct st{
int l,r,id;
} team[101000]={0};
int i,j,m,n,x,c,p;
void add(int a,int b){
if(b==0){
team[i].id=i;
team[team[x].l].r=i;
team[i].l=team[x].l;
team[i].r=x; team[x].l=i;
if(team[i].l==0) p=i;
}else{
team[i].id=i;
team[team[x].r].l=i;
team[i].r=team[x].r;
team[i].l=x; team[x].r=i;
}}
void del(int a){
int f,t;
f=team[a].l; t=team[a].r;
team[f].r=team[a].r;
team[t].l=team[a].l;
team[a].l=-1; team[a].r=-1;
}
int main(){
scanf("%d",&n);
team[1].id=1; team[1].l=0; team[1].r=0;
for(i=2;i<=n;++i){
scanf("%d%d",&x,&c);
add(x,c);
//cout<<team[p].l<<" "<<team[p].id<<" "<<team[p].r<<endl;
} int sum=0;
scanf("%d",&m);
for(i=1;i<=m;++i){
scanf("%d",&x);
del(x); sum++;
}
for(i=1;i<=n;++i){
if(team[i].l==0){
p=i;
break;
}
}
n=n-sum;
while(n>=0){
if(team[p].id!=0)
cout<<team[p].id<<" ";
p=team[p].r;
n--;
}
return 0;
}
回复
共 2 条回复,欢迎继续交流。
正在加载回复...