标签:ret inline 垃圾 href ++ ble main ace efi
题目链接:P1160 队列安排
链表板子题,但是过于垃圾的我不会指针,好在可以用数组去模拟链表,然后果然一发过了。
不要忘了更新有关元素就好。
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
//模板题就先不尛了
#define MAXN 1000005
struct node
{
int l,r;
}a[MAXN];
#define read(x) scanf("%d",&x)
int n,m,k,p;
int vis[MAXN];
int f;
int main()
{
a[1].l=a[1].r=0;
read(n);
for(int i=2;i<=n;i++)
{
read(k),read(p);
if(p==0) a[i].l=a[k].l,a[i].r=k,a[a[k].l].r=i,a[k].l=i;
else a[i].r=a[k].r,a[i].l=k,a[a[k].r].l=i,a[k].r=i;
}
read(m);
for(int i=1;i<=m;i++)
{
read(k);
if(vis[k]) continue;
vis[k]=1;
int h=a[k].l,t=a[k].r;
a[h].r=t,a[t].l=h;
}
for(int i=1;i<=n;i++) if(!vis[i]&&a[i].l==0) f=i;
while(f)
{
printf("%d ",f);
f=a[f].r;
}
printf("\n");
return 0;
}
标签:ret inline 垃圾 href ++ ble main ace efi
原文地址:https://www.cnblogs.com/tlx-blog/p/12631465.html