P1160 队列安排 luogu洛谷
题目描述
一个学校里老师要将班上NNN个同学排成一列,同学被编号为1∼N1\sim N1∼N,他采取如下的方法:
先将111号同学安排进队列,这时队列中只有他一个人;
2−N2-N2−N号同学依次入列,编号为i的同学入列方式为:老师指定编号为i的同学站在编号为1∼(i−1)1\sim (i -1)1∼(i−1)中某位同学(即之前已经入列的同学)的左边或右边;
从队列中去掉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个空格隔开的正整数,表示了队列从左到右所有同学的编号,行末换行且无空格。
输入输出样例
说明
样例解释:
将同学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。
----------------------------------------分割分割分割------------------------------------------------------------------------
很基础很基础
我拿不准的地方在于
如何输出:
第一个是什么?
所以借鉴了一下
-----------------------------------------------------------------------------------------------------------------------------------
using namespace std;
#define maxn 100010
int n,cnt = 1;
bool flag[maxn];
data[++cnt] = x;
pre[cnt] = l;
nxt[cnt] = r;
nxt[l] = cnt;
pre[r] = cnt;
}
nxt[pre[x]] = nxt[x];
pre[nxt[x]] = pre[x];
}
scanf("%d",&n);
data[1] = 1;
int head = 1;
flag[1] = true;
for(int i = 2; i <= n; i++) {
int k,p;
scanf("%d%d",&k,&p);
flag[i] = true;
if(p == 0) {
if(k == head)
head = i;
add(pre[k],k,i);
} else
add(k,nxt[k],i);
}
int m;
scanf("%d",&m);
for(int i = 1; i <= m; i++) {
int x;
scanf("%d",&x);
if(!flag[x])
continue;
if(x == head)
head = nxt[x];
del(x);
cnt--;
flag[x] = false;
}
for(int i = head; cnt; i = nxt[i]) {
printf("%d ",data[i]);
cnt--;
}
return 0;
}
P1160 队列安排 luogu洛谷的更多相关文章
- luogu P1160 队列安排
二次联通门 :luogu P1160 队列安排 /* luogu P1160 队列安排 链表 手动模拟一下就好了... */ #include <cstdio> #define Max 5 ...
- 队列 P1160 队列安排(啊啊 不会啊)
洛谷 题目描述 一个学校里老师要将班上N个同学排成一列,同学被编号为1-N,他采取如下的方法: 1.先将1号同学安排进队列,这时队列中只有他一个人: 2.2-N号同学依次入列,编号为i的同学入列方式为 ...
- 【新知识】队列&bfs【洛谷p1996约瑟夫问题&洛谷p1451求细胞数量】
(是时候为五一培训准备真正的技术了qwq) part1 队列(FIFO) 算法简介: FIFO:First In First Out(先进先出) 队列是限定在一端进行插入,另一端进行删除的特殊线性表 ...
- P1160 队列安排 洛谷
https://www.luogu.org/problem/show?pid=1160 题目描述 一个学校里老师要将班上N个同学排成一列,同学被编号为1-N,他采取如下的方法: 1.先将1号同学安排进 ...
- 洛谷 P1160 队列安排 Label:链表 数据结构
题目描述 一个学校里老师要将班上N个同学排成一列,同学被编号为1-N,他采取如下的方法: 1.先将1号同学安排进队列,这时队列中只有他一个人: 2.2-N号同学依次入列,编号为i的同学入列方式为:老师 ...
- 洛谷 P1160 队列安排
题目描述 一个学校里老师要将班上 NNN 个同学排成一列,同学被编号为 $1-N$ ,他采取如下的方法: 先将 111 号同学安排进队列,这时队列中只有他一个人: 2−N2-N2−N 号同学依次入列, ...
- 洛谷P1160 队列安排
题目描述 一个学校里老师要将班上N个同学排成一列,同学被编号为1-N,他采取如下的方法: 1.先将1号同学安排进队列,这时队列中只有他一个人: 2.2-N号同学依次入列,编号为i的同学入列方式为:老师 ...
- 洛谷P1160——队列安排(双向链表)
题目描述 一个学校里老师要将班上N个同学排成一列,同学被编号为1-N,他采取如下的方法: 1.先将1号同学安排进队列,这时队列中只有他一个人: 2.2-N号同学依次入列,编号为i的同学入列方式为:老师 ...
- 洛谷——P1160 队列安排(链表的基础操作)
#include<bits/stdc++.h> using namespace std; ]; list<int> stus; list<];//用来存放每一项的迭代器 ...
随机推荐
- 修改Mysql字符集
第一种 一.修改my.ini配置文件(MySQL配置文件) character_set_server = utf8 #设置字符集 重启mysql数据库服务 查看当前数据库字符集 show VARIAB ...
- Mybatis获取插入记录的自增长ID
转自:http://blog.csdn.net/tolcf/article/details/39035259 1.在Mybatis Mapper文件中添加属性“useGeneratedKeys”和“k ...
- spring boot 之 Mybatis 配置
############################## mybatis配置 ######################################mybatis.configuration ...
- 在C语言结构体中添加成员函数
我们在使用C语言的结构体时,经常都是只定义几个成员变量,而学过面向对象的人应该知道,我们定义类时,不只是定义了成员变量,还定义了成员方法,而类的结构和结构体非常的相似,所以,为什么不想想如何在C语言结 ...
- c语言学习笔记-do......while
我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! 一.do......while函数意义 循环执行(人机交互) 二.do......while函数结构 do{ 语句1: 语句2: ...
- HTML5实现video标签的自定义播放进度条
现在随着html5的渐热,越来越多的web开发者都开始选择使用html5写出一些比较好的web应用. html代码: <!DOCTYPE html> <html lang=" ...
- Arrow模块生成时间
import arrow def isLeapYear(years): ''' 通过判断闰年,获取年份years下一年的总天数 :param years: 年份,int :return:days_su ...
- modifyGeoJSON
from osgeo import ogr import json from geojson import loads, dumps, Feature, FeatureCollection from ...
- (后端)NoSuchMethodError
这个错误是说编译时有这个方法,但运行时没有了 请使用:mvn clean install
- mysql的varchar字段可以存储多少个中文字符
创建数据库,并创建一张表mytb进行测试 ******************************************************************************* ...