题目描述

一个学校里老师要将班上 NNN 个同学排成一列,同学被编号为 $1~N$ ,他采取如下的方法:

  1. 先将 111 号同学安排进队列,这时队列中只有他一个人;

  2. 2−N2-N2−N 号同学依次入列,编号为i的同学入列方式为:老师指定编号为i的同学站在编号为 1−(i−1)1-(i -1)1−(i−1) 中某位同学(即之前已经入列的同学)的左边或右边;

3.从队列中去掉 M(M<N)M(M<N)M(M<N) 个同学,其他同学位置顺序不变。

在所有同学按照上述方法队列排列完毕后,老师想知道从左到右所有同学的编号。

输入输出格式

输入格式:

第 111 行为一个正整数 NNN ,表示了有 NNN 个同学。

第 2−N2-N2−N 行,第 iii 行包含两个整数 k,pk,pk,p ,其中 kkk 为小于 iii 的正整数, ppp 为 000 或者 111 。若 ppp 为 000 ,则表示将 iii 号同学插入到 kkk 号同学的左边, ppp 为 111 则表示插入到右边。

第 N+1N+1N+1 行为一个正整数 MMM ,表示去掉的同学数目。

接下来 MMM 行,每行一个正整数 xxx ,表示将 xxx 号同学从队列中移去,如果 xxx 号同学已经不在队列中则忽略这一条指令。

输出格式:

111 行,包含最多 NNN 个空格隔开的正整数,表示了队列从左到右所有同学的编号,行末换行且无空格。

输入输出样例

输入样例#1: 复制

4
1 0
2 1
1 0
2
3
3
输出样例#1: 复制

2 4 1

说明

样例解释:

将同学 222 插入至同学 111 左边,此时队列为:

212 121

将同学 333 插入至同学 222 右边,此时队列为:

2312 3 1231

将同学 444 插入至同学 111 左边,此时队列为:

23412 3 4 12341

将同学 333 从队列中移出,此时队列为:

2412 4 1241

同学 333 已经不在队列中,忽略最后一条指令

最终队列:

2412 4 1241

数据范围

对于 20%20\%20% 的数据,有 N≤10N≤10N≤10 ;

对于 40%40\%40% 的数据,有 N≤1000N≤1000N≤1000 ;

对于 100%100\%100% 的数据,有 N,M≤100000N, M≤100000N,M≤100000 。

就是一个基础链表,挺简单的。

 #include<iostream>
#include<cstdio>
using namespace std;
const int N=;
int n,m;
bool b[N];
struct node
{
int l,r;
}a[N];
void ins(int x,int y,int d)
{
if(d==)
a[x].l=a[y].l,a[x].r=y,a[a[y].l].r=x,a[y].l=x;
else
a[x].r=a[y].r,a[x].l=y,a[a[y].r].l=x,a[y].r=x;
}
int main()
{
scanf("%d",&n);
for(int i=;i<=n;i++)
a[i].l=a[i].r=-;
a[].l=,a[].r=n+;
for(int i=;i<=n;i++)
{
int k,p;
scanf("%d%d",&k,&p);
ins(i,k,p);
}
scanf("%d",&m);
while(m--)
{
int x;
scanf("%d",&x);
if(!b[x])
{
b[x]=;
a[a[x].l].r=a[x].r;
a[a[x].r].l=a[x].l;
a[x].l=a[x].r=-;
}
}
for(int i=;i<=n;i++)
if(!b[i]&&a[i].l==)
{
int t=i;
printf("%d ",t);
while(a[t].r!=n+)
{
t=a[t].r;
printf("%d ",t);
}
printf("\n");
}
return ;
}

洛谷 P1160 队列安排的更多相关文章

  1. 洛谷 P1160 队列安排 Label:链表 数据结构

    题目描述 一个学校里老师要将班上N个同学排成一列,同学被编号为1-N,他采取如下的方法: 1.先将1号同学安排进队列,这时队列中只有他一个人: 2.2-N号同学依次入列,编号为i的同学入列方式为:老师 ...

  2. 洛谷P1160 队列安排

    题目描述 一个学校里老师要将班上N个同学排成一列,同学被编号为1-N,他采取如下的方法: 1.先将1号同学安排进队列,这时队列中只有他一个人: 2.2-N号同学依次入列,编号为i的同学入列方式为:老师 ...

  3. 洛谷P1160——队列安排(双向链表)

    题目描述 一个学校里老师要将班上N个同学排成一列,同学被编号为1-N,他采取如下的方法: 1.先将1号同学安排进队列,这时队列中只有他一个人: 2.2-N号同学依次入列,编号为i的同学入列方式为:老师 ...

  4. 洛谷——P1160 队列安排(链表的基础操作)

    #include<bits/stdc++.h> using namespace std; ]; list<int> stus; list<];//用来存放每一项的迭代器 ...

  5. luogu P1160 队列安排

    二次联通门 :luogu P1160 队列安排 /* luogu P1160 队列安排 链表 手动模拟一下就好了... */ #include <cstdio> #define Max 5 ...

  6. AC日记——队列安排 洛谷 P1160

    队列安排 思路: 链表裸题: 来,上代码: #include <cstdio> #include <cstring> #include <iostream> usi ...

  7. 队列 P1160 队列安排(啊啊 不会啊)

    洛谷 题目描述 一个学校里老师要将班上N个同学排成一列,同学被编号为1-N,他采取如下的方法: 1.先将1号同学安排进队列,这时队列中只有他一个人: 2.2-N号同学依次入列,编号为i的同学入列方式为 ...

  8. [洛谷P2365] 任务安排

    洛谷题目链接:任务安排 题目描述 N个任务排成一个序列在一台机器上等待完成(顺序不得改变),这N个任务被分成若干批,每批包含相邻的若干任务.从时刻0开始,这些任务被分批加工,第i个任务单独完成所需的时 ...

  9. 洛谷P2365 任务安排(斜率优化dp)

    传送门 思路: 最朴素的dp式子很好考虑:设\(dp(i,j)\)表示前\(i\)个任务,共\(j\)批的最小代价. 那么转移方程就有: \[ dp(i,j)=min\{dp(k,j-1)+(sumT ...

随机推荐

  1. face alignment[Ordinary Procrustes Analysis]

    人脸识别,大致可以分为以下四个步骤: 人脸检测:从图片中准确定位到人脸,并以矩形框将其裁剪出来: 人脸矫正(对齐): 检测到的人脸,可能角度不是很正,需要使其对齐,比如旋转,缩放: 特征提取:对矫正后 ...

  2. 多模块后带来的问题解决方法 - OSGI原形(.NET)

    目前只做了基础的功能,比如: 各个模块单独的AppDomain容器 Activator激活 导出的服务检查 不过,虽说这样,但目前的这个版本已经能实现模块分离.互相依赖调用等功能了,对模块划分已经有很 ...

  3. 深入浅出经典面试题:从浏览器中输入URL到页面加载发生了什么 - Part 3

    备注: 因为文章太长,所以将它分为三部分,本文是第三部分. 第一部分:深入浅出经典面试题:从浏览器中输入URL到页面加载发生了什么 - Part 1 第二部分:深入浅出经典面试题:从浏览器中输入URL ...

  4. 如何让.net程序支持TLS1.2

    1.将.Net FrameWork设置成4.6以上版本 2.在需要的类中引入命名空间 using System.Net; 3.在程序调用接口(如支付)的地方,加一段代码即可 System.Net.Se ...

  5. 二十四、小程序中改变checkbox和radio的样式

    来源:https://blog.csdn.net/qq_39364032/article/details/79742415 在微信小程序里面,有时候为了配合整个项目的风格,checkbox和radio ...

  6. 十三、MUI的日期起始和结束日期设置

    MUI的日期选择器的使用 // 日期选择器 //生日选择器(不会超过今年) function fdPicker1(id) { var year=new Date().getFullYear(); va ...

  7. Python—time模块介绍

    time 模块 在平常的代码中,我们常常需要与时间打交道.在Python中,常用的与时间处理有关的模块就包括:time,datetime,下面来介绍time模块. 在开始之前,首先要说明几点: 一.在 ...

  8. elasticsearch数据输入和输出

    Elastcisearch 是分布式的 文档 存储.它能存储和检索复杂的数据结构–序列化成为JSON文档–以 实时 的方式. 换句话说,一旦一个文档被存储在 Elasticsearch 中,它就是可以 ...

  9. P66 整环的零元

    R/I=0的零因子是0+I吗? 如果不是,那请问R/I的零因子是什么呢? R/I没有零因子 R/I的零元 是I中的元素定义的等价类 么  a是理想I的元素,自然也是R的元素

  10. this is incompatible with sql_mode=only_full_group_by

    mysql命令gruop by报错this is incompatible with sql_mode=only_full_group_by - Jim_.NET - 博客园 http://www.c ...