大二第二次月赛--手速

2024-08-27 03:18
文章标签 第二次 月赛 大二 手速

本文主要是介绍大二第二次月赛--手速,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

手速

时间限制: 1000 ms  |  内存限制: 65535 KB
难度: 1
描述

被学长虐了之后,wyl 认识到了手速的重要性,yy了一道。

初始化序列为空

给 n 个操作:

0 :    从头部往里放

1 :    从尾部往里放

2 :      从头部删除

3 :      从尾部删除

4:    改变功能,原来是从头部放的从尾部放,从尾部放的从头部放,删除也是如此

注:如果序列为空,请忽略2,3功能        

输入
Line1:T组数据(T<=10)
Line2:一个整数n(n<=200)
Line3:如果是0||1 操作,则后面跟一个m(int范围内),表示要放的数。
输出
如果当前序列为空,输出-1;
否则输出当前序列,用空格隔开
样例输入
2
3
0 1
0 2
1 3
0
样例输出
2 1 3
-1

此题用到数据结构:双端队列---deque<int >v;

 常用结构   push_front();从头压入

                    push_back();从尾压入

                    pop_front();从头删除

                    pop_back();从尾删除


详细用法:http://qianmacao.blog.163.com/blog/static/20339718020123605656363/

参考代码:

/****************
Times:0ms;
NYOJ 1128
***************/
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<iostream>
#include<algorithm>
#include<cmath>
#include<ctime>
#include<queue>
#include<stack>
#include<string>
using namespace std;
#define Max(a,b) a>b?a:b
#define Min(a,b) a>b?b:a
#define mem(a,b) memset(a,b,sizeof(a))
int dir[4][2]= {{0,1},{0,-1},{1,0},{-1,0}};
int main()
{deque<int >v;int n,m,i,j,a,b,c,d;cin>>n;while(n--){while(!v.empty())v.pop_front();int flag=0;cin>>m;for(i=0; i<m; i++){cin>>a;if(a==4){flag=flag^1;continue;}if(flag==0){if(a==0||a==1){cin>>b;if(a==0)v.push_front(b);else v.push_back(b);}else{if(!v.empty()){if(a==2)v.pop_front();else v.pop_back();}}}else{if(a==0||a==1){cin>>b;if(a==1)v.push_front(b);else v.push_back(b);}else{if(!v.empty()){if(a==3)v.pop_front();elsev.pop_back();}}}}if(!v.empty()){while(!v.empty()){printf("%d ",v.front());v.pop_front();}}elseprintf("-1");puts("");}return 0;
}



这篇关于大二第二次月赛--手速的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1110483

相关文章

毕业前第二次面试的感慨

距面试已经过去了有几天了,我现在想起来都有说多的恨感慨。 我一直都是想找刚刚起步的企业,因为这能让我学到更多的东西,然而正好有一家企业是刚起步的,而且他还有自己的产品专利,可以说这是一家,即是创业又是刚起步的公司,这家公司回复了我投给他的简历,这家企业想进一步了解我的情况,因为简历上我符合这家企业的基本要求,所以要进一步了解。 虽然面试的过程中,他给我的面试题,我做得并不是很理想,

B3918 [语言月赛 202401] 图像变换

[题目通道]([语言月赛 202401] 图像变换 - 洛谷) #include<bits/stdc++.h>using namespace std;int n,m,k;string a[1000],st;int main(){cin>>n>>m>>k;for (int i=1;i<=n;i++){cin>>a[i];}for (int i=1;i<=n;i++){st="";for (

dp FOJ 一月月赛C ytaaa

Accept: 57    Submit: 261 Time Limit: 2000 mSec    Memory Limit : 32768 KB  Problem Description Ytaaa作为一名特工执行了无数困难的任务,这一次ytaaa收到命令,需要炸毁敌人的一个工厂,为此ytaaa需要制造一批炸弹以供使用。 Ytaaa使用的这种新型炸弹由若干个炸药组成,每个炸药都有

大二必做项目贪吃蛇超详解之中篇游戏设计与分析

贪吃蛇系列文章 上篇win32 中篇设计与分析 文章目录 贪吃蛇系列文章1. 地图1. 1 `<locale.h>`本地化1. 2 类项1. 3 setlocale函数1. 4 宽字符的打印1. 5 地图坐标 2. 蛇身和食物3. 数据结构设计4. 游戏流程设计5. 核心逻辑实现分析5. 1 游戏主逻辑5. 2 GameStart5. 2. 1 SetInit5. 2. 2 Welcom

想要深刻了解OpenAI,还得看第二次工业革命!

人类历史上经历了四次工业革命.... >>>   四次工业革命概述 第一次工业革命(18世纪60年代~19世纪中期)——资产阶级 以蒸汽机、汽船、火车为代表,标志着人类进入蒸汽时代。这次工业革命大大密切加强了世界各地之间的联系,改变了世界的面貌,最终确立了资产阶级对世界的统治地位。 第二次工业革命(19世纪七八十年代~19世纪末20世纪初)——殖民滋生 以电力、内燃机、飞机、汽车为代表,标

2014年大二学习数据结构

大话数据结构,很不错哦。

Cypress第二次安装遇到的问题

问题一:吐血,谁会想到node.js的官网访问不了呢! 中文网站:http://url.nodejs.cn/download/ 官网:https://nodejs.org/zh-cn nodejs安装的两种方法(官网、NVM安装-node版本切换)不知道这种方式是否可行,还需要花时间试试

大二必做项目贪吃蛇超详解之上篇win32库介绍

文章目录 1. 游戏背景2. 游戏效果演示3. 项目目标4. 前置知识5. Win32 API5. 1 控制台程序(Console)5. 2 控制台屏幕上的坐标 `COORD`5. 3 GetStdHandle5. 4 GetConsoleCursorlnfo5. 4. 1 CONSOLE_CURSOR_INFO5. 4. 2 SetConsoleCursorlnfo 5. 5 Setcon

第二次选拔——ZOJ

简单,不多说。 Description 读入一个字符串,字符串中包含ZOJ三个字符,个数不一定相等,按ZOJ的顺序输出,当某个字符用完时,剩下的仍然按照ZOJ的顺序输出。 Input 题目包含多组用例,每组用例占一行,包含ZOJ三个字符,当输入“E”时表示输入结束。  1<=length<=100。  Output 对于每组输入,请输出一行,表示

第二次选拔——排序

Description 输入一行数字,如果我们把这行数字中的‘5’都看成空格,那么就得到一行用空格分割的若干非负整数(可能有些整数以‘0’开头,这些头部的‘0’应该被忽略掉,除非这个整数就是由若干个‘0’组成的,这时这个整数就是0)。  你的任务是:对这些分割得到的整数,依从小到大的顺序排序输出。  Input 输入包含多组测试用例,每组输入数据只有一行数字(数字之