zoukankan      html  css  js  c++  java
  • AC日记——队列安排 洛谷 P1160

    队列安排

    思路:

      链表裸题;

    来,上代码:

    #include <cstdio>
    #include <cstring>
    #include <iostream>
    
    using namespace std;
    
    #define maxn 100005
    
    struct ListType {
        int pre,suc,key;
    };
    struct ListType list[maxn<<1];
    
    int tot=2,n,m,sta=0,End=1,to[maxn];
    
    inline void in(int &now)
    {
        char Cget=getchar();now=0;
        while(Cget>'9'||Cget<'0') Cget=getchar();
        while(Cget>='0'&&Cget<='9')
        {
            now=now*10+Cget-'0';
            Cget=getchar();
        }
    }
    
    int main()
    {
        to[1]=2;
        list[sta].suc=2;
        list[End].pre=2;
        list[2].key=1;
        list[2].pre=sta;
        list[2].suc=End;
        in(n);int v,p;
        for(int i=2;i<=n;i++)
        {
            in(v),in(p);
            to[i]=++tot;
            list[tot].key=i;
            int pos=to[v];
            if(p)
            {
                int cur=list[pos].suc;
                list[pos].suc=tot;
                list[tot].pre=pos;
                list[tot].suc=cur;
                list[cur].pre=tot;
            }
            else
            {
                int cur=list[pos].pre;
                list[pos].pre=tot;
                list[tot].suc=pos;
                list[tot].pre=cur;
                list[cur].suc=tot;
            }
        }
        in(m);
        while(m--)
        {
            in(v);
            if(to[v])
            {
                int pos=to[v];
                to[v]=0;
                list[list[pos].pre].suc=list[pos].suc;
                list[list[pos].suc].pre=list[pos].pre;
            }
        }
        for(int now=list[sta].suc;now!=End;now=list[now].suc)
        {
            now!=list[End].pre?printf("%d ",list[now].key):printf("%d
    ",list[now].key);
        }
        return 0;
    }
  • 相关阅读:
    工作中的几个问题
    linux初学之二
    VMWARE虚拟机卡死
    记昨天、今天的部分工作内容及问题
    linux初学之一
    今日阅读项目源码
    python POST XML
    python的超简单WEB服务器
    在notepad++中运行python
    安装python图形库:Matplotlib
  • 原文地址:https://www.cnblogs.com/IUUUUUUUskyyy/p/6735286.html
Copyright © 2011-2022 走看看