链接:https://ac.nowcoder.com/acm/contest/131/A
来源:牛客网

题目描述

ZZT 创造了一个队列 Q。这个队列包含了 N 个元素,队列中的第 i 个元素用 Qi 表示。Q1 表示队头元素,QN 表示队尾元素。队列中的元素是 N 的一个全排列。

ZZT 需要在这个队列上执行 P 次操作,操作分两种:
FIRST X: 将元素 X 移到队头。
LAST X: 将元素 X 移到队尾。

在 P 次操作之后,ZZT 想知道队列中的元素的排列方式,由于他最近很忙,因此需要请你帮他解决这个问题。

输入描述:

第一行输入一个正整数 N,表示队列的大小。
第二行输入 N 个正整数,Q1, Q2, Q3, ... ..., QN,Qi 表示队列中的第 i 个元素。保证这 N 个数是 N 的一个全排列。
第三行输入一个正整数 P,表示接下来要进行的操作次数。

接下来 P 行,第 i 行输入一个字符串 Si 以及一个正整数 Xi,表示一次操作。

1 ≤ N ≤ 105.
1 ≤ Qi ≤ N.
1 ≤ P ≤ 105.
Si  { “FIRST”, “LAST” }.
1 ≤ Xi ≤ 105.

输出描述:

输出 N 个正整数,表示 P 次操作之后的队列。

示例1

输入

复制

4
4 2 1 3
3
FIRST 4
LAST 2
LAST 1

输出

复制

4 3 2 1

思路: 写入数组的时候按顺序标记下标,根据操作更改下标值,最后按照下标升序对输入数组排序。

AC代码:

#include <iostream>
#include <bits/stdc++.h>
#include <cstring>
using namespace std;
const int maxn=1e5+10;
int arr[maxn];
int pos[maxn*2];
bool cmp(int i,int j){return pos[i]<pos[j];
}
int main(){int n;cin>>n;for(int i=1;i<=n;i++){cin>>arr[i];pos[arr[i]]=i;}int l=1,r=n;int q;cin>>q;while(q--){int x;string op;cin>>op;cin>>x;if(op[0]=='F'){pos[x]=--l;}else{pos[x]=++r;}}sort(arr+1,arr+1+n,cmp);for(int i=1;i<=n;i++)cout<<arr[i]<<" ";return 0;
}

队列Q(Wannafly挑战赛19)相关推荐

  1. Wannafly挑战赛19

    Wannafly挑战赛19 A. 队列Q 需要支持把一个元素移到队首,把一个元素移到队尾,移到队首就直接放到队首前面那个位置,原位置标为0,队尾同理. #include <bits/stdc++ ...

  2. Wannafly挑战赛19 A-队列Q

    题目描述 ZZT 创造了一个队列 Q.这个队列包含了 N 个元素,队列中的第 i 个元素用 Qi 表示.Q1 表示队头元素,QN 表示队尾元素.队列中的元素是 N 的一个全排列. ZZT 需要在这个队 ...

  3. Wannafly挑战赛19:B. 矩阵(单调栈)

    链接:https://www.nowcoder.com/acm/contest/131/B 来源:牛客网 题目描述 矩阵 M 包含 R 行 C 列,第 i 行第 j 列的值为 Mi,j. 请寻找一个子 ...

  4. Wannafly挑战赛19:C. 多彩的树(状压+容斥)

    链接:https://www.nowcoder.com/acm/contest/131/C 来源:牛客网 题目描述 有一棵树包含 N 个节点,节点编号从 1 到 N.节点总共有 K 种颜色,颜色编号从 ...

  5. Wannafly挑战赛22游记

    Wannafly挑战赛22游记 幸运的人都是相似的,不幸的人各有各的不幸. --题记 A-计数器 题目大意: 有一个计数器,计数器的初始值为\(0\),每次操作你可以把计数器的值加上\(a_1,a_2 ...

  6. [Wannafly挑战赛2D-Delete]最短路

    [Wannafly挑战赛2D-Delete]最短路 题目描述 给定一张 n 个点,m 条边的带权有向无环图,同时给定起点 S 和终点 T ,一共有 q 个询问,每次询问删掉某个点和所有与它相连的边之后 ...

  7. Wannafly 挑战赛27 题解

    Wannafly 挑战赛27 题目连接 https://www.nowcoder.com/acm/contest/215#question A.灰魔法师 题目 题解 考虑到可能的完全平方数只有4004 ...

  8. Wannafly挑战赛24

    Wannafly挑战赛24 题目连接 https://www.nowcoder.com/acm/contest/186#question A.石子游戏 题解 注意到当石子个数为偶数的时候,每回合都会减 ...

  9. Wannafly挑战赛13 B-Jxc军训

    Wannafly挑战赛13 B-Jxc军训 链接:https://www.nowcoder.com/acm/contest/80/B 来源:牛客网 题目描述 在文某路学车中学高一新生军训中,Jxc正站 ...

最新文章

  1. 从0到1学C++ 第3篇 从结构到类的演变
  2. HDU-2149(博弈)
  3. 关于VS2017中fopen、fscanf等函数无法使用的问题
  4. Python中列表的del,remove和pop函数之间的区别
  5. SQL 高效的万能分页存储过程
  6. linux驱动初探之字符驱动
  7. 超棒的30款JS类库和工具
  8. 27.crontab
  9. Vite理论知识笔记一
  10. VOIP系统开源实现PCMA/PCMU/AMR/G729常用格式解码服务
  11. java二重积分_用java实现二重积分的计算
  12. 3t studio 导出数据_Studio 3t for MongoDB 最好的MongoDB工具
  13. 求解最大连续子序列和问题———分治法
  14. 步步深入:MySQL 架构总览->查询执行流程->SQL 解析顺序(转)
  15. 在ubuntu上搭建IC数模混合环境
  16. ESP8266 阿里云物联网平台 (详细步骤)
  17. 【小技巧】STA静态时序分析概述
  18. convariate shift(协变量 转变)
  19. MultipartFile上传/下载图片
  20. babe的l使用步骤记录

热门文章

  1. 软件开发工期估算系列(3)——見積もり値の「幼虫」「サナギ」「成虫」
  2. 博云信创云管平台入选工信部推荐解决方案名单,头部券商信创案例获应用示范单项
  3. 驻留内存 虚拟内存 共享内存
  4. 如何在VMware里安装windows server 2003
  5. jz2440 配置网络环境
  6. Powerbuilder编程过程中的 DataWindow 数据窗口函数
  7. 【Android】基于BUILD.gn的源码构建
  8. CDN模式引用js包的常见问题及解决方案引用public文件夹静态资源问题
  9. OS Review3 并发进程
  10. 今天给大家推荐一个可视化库:cutecharts,我把她叫做pyecharts的妹妹