复习 队列安排 链表
来源:互联网 发布:ubuntu samba图形 编辑:程序博客网 时间:2024/05/16 09:03
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int maxn=1e5+10;
int p[maxn],nxt[maxn],vis[maxn];
int main(){
int n;
scanf("%d",&n);
int k,pp;
p[1]=0; nxt[0]=1;
for(int i=2;i<=n;i++){
scanf("%d%d",&k,&pp);
if(pp==0){
nxt[p[k]]=i;
p[i]=p[k]; nxt[i]=k; p[k]=i;
}
else{
p[nxt[k]]=i;
nxt[i]=nxt[k];
p[i]=k;
nxt[k]=i;
}
}
int m,x;
scanf("%d",&m);
for(int i=1;i<=m;i++){
scanf("%d",&x);
if(vis[x]) continue;
vis[x]=true;
nxt[p[x]]=nxt[x]; p[nxt[x]]=p[x];
}
for(int i=nxt[0];i;i=nxt[i]){
cout<<i<<' ';
}
cout<<endl;
return 0;
}
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int maxn=1e5+10;
int p[maxn],nxt[maxn],vis[maxn];
int main(){
int n;
scanf("%d",&n);
int k,pp;
p[1]=0; nxt[0]=1;
for(int i=2;i<=n;i++){
scanf("%d%d",&k,&pp);
if(pp==0){
nxt[p[k]]=i;
p[i]=p[k]; nxt[i]=k; p[k]=i;
}
else{
p[nxt[k]]=i;
nxt[i]=nxt[k];
p[i]=k;
nxt[k]=i;
}
}
int m,x;
scanf("%d",&m);
for(int i=1;i<=m;i++){
scanf("%d",&x);
if(vis[x]) continue;
vis[x]=true;
nxt[p[x]]=nxt[x]; p[nxt[x]]=p[x];
}
for(int i=nxt[0];i;i=nxt[i]){
cout<<i<<' ';
}
cout<<endl;
return 0;
}
阅读全文
0 0
- 复习 队列安排 链表
- P1160 队列安排(链表)
- 队列安排
- iOS复习安排
- 晚餐队列安排
- 晚餐队列安排
- 【洛谷 1160】 队列安排
- 【u117】队列安排
- 洛谷1160 队列安排
- 洛谷 P1160 队列安排
- 洛谷 P1160 队列安排
- [P1160]队列安排
- Luogu P1160 队列安排
- 洛谷p1160队列安排
- 【其他】【RQNOJ】晚餐队列安排
- 晚餐队列安排 Hard Version
- [USACO Feb08] 晚餐队列安排
- 运动会安排(链队列)
- DB2修改(mv)数据库文件名称后的现象
- c++模板类
- 【Android】RxJava的使用(四)线程控制 —— Scheduler
- HDU 4804 Campus Design(插头DP) (未理解)
- 如何提高学习效率
- 复习 队列安排 链表
- 信息系统项目管理师备考记录 2017下半年
- 系统调用
- ubuntu内核相关问题总结
- linux ubuntu基础视频网址
- 最短路模板(dij+spfa)
- Arrays常用方法
- JSP入门
- Java中的MVC模式和三层架构