社区讨论
疑惑,求解,帮助,必关
P1160队列安排参与者 2已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @mhj0xn07
- 此快照首次捕获于
- 2025/11/03 18:55 4 个月前
- 此快照最后确认于
- 2025/11/03 18:55 4 个月前
我老师用我的代码就能过
凭什么我用我的代码就不能过
CPP#include<bits/stdc++.h>
using namespace std;
const int N = 1e5 + 5;
int n, m;
int q[N] = {1};
int cnt = 1;
bool vis[N];
void insert(int new_stu, int k, int right){
int pos=-1;
for(int i=0;i<cnt;i++){
if(q[i]==k){
pos=i;
}
}
if(right==1) pos++;
for(int i=cnt-1;i>=pos;i--){
q[i+1]=q[i];
}
q[pos]=new_stu;
cnt++;
}
void remove(int x){
if(vis[x]) return;
int pos=-1;
for(int i=0;i<cnt;i++){
if(q[i]==x){
pos=i;
}
}
for(int i=pos+1;i<cnt;i++){
q[i-1]=q[i];
}
cnt--;
vis[x]=true;
}
int main(){
cin>>n;
for(int i=2; i<=n; i++){
int k, p; cin>>k>>p; // k号同学 p=1 右边
// cout << "?" << endl;
insert(i, k, p);
}
cin>>m;
while(m--){
int x; cin>>x;
remove(x);
}
for(int i=0; i<cnt; i++){
cout << q[i] << " ";
}
return 0;
}
回复
共 2 条回复,欢迎继续交流。
正在加载回复...