https://www.luogu.org/record/show?rid=2143639

题目描述

在世界的东边,有三瓶雪碧。

——laekov

黎大爷为了虐 zhx,给 zhx 出了这样一道题。黎大爷搞了一个数据结构,但

是他没有告诉 zhx 这到底是什么数据结构,我们只知道这是一个数据结构。为了

让 zhx 知道这是什么数据结构,黎大爷制造了很多次的输入和输出操作。每次加

入操作,黎大爷会告诉你他向这个数据结构加入了一个数并告诉你这是多少;每

次取出操作,黎大爷会从数据结构之中取出一个数并告诉这是多少。黎大爷希望

zhx 根据这些操作来判断这是什么数据结构,但是 zhx 觉得这题太难了所以跑路

了,于是黎大爷把这道题扔给了你。

输入输出格式

输入格式:

第一行一个整数N代表操作的数目。

接下来N行,每行两个整数opt,v。如果opt = 1,代表黎大爷把v加入了数据

结构;如果opt = 2,代表了黎大爷从数据结构中取出了一个数,值是v。

输出格式:

输出总共三行,第一行代表数据结构是否可能是栈,第二行代表数据结构是

否可能是队列,第三行代表数据结构是否可能大根堆。每一行的结果都只可能是

“YES”或者“NO” 。

输入输出样例

输入样例#1:

2
1 1
2 1
输出样例#1:

YES
YES
YES

说明

对于100%的数据,1 ≤ n ≤ 10 3 。

 #include<iostream>
#include<cstdio>
#include<cstring>
#include<queue>
#include<stack>
using namespace std;
int ans1,ans2,ans3;//默认是目标数据结构
stack<int>s;
queue<int>q;
priority_queue<int>heap;
int main()
{
int n;
cin>>n;
for(int i=;i<=n;i++)
{
int p,d;
cin>>p;
if(p==)
{
cin>>d;
s.push(d);q.push(d);heap.push(d);
}
else
{
cin>>d;
if(s.size()==||q.size()==||heap.size()==)
{
cout<<"NO"<<endl;
cout<<"NO"<<endl;
cout<<"NO"<<endl;
return ;
}
if(d!=s.top())ans1=;
if(s.size()!=)
s.pop(); if(d!=q.front())ans2=;
if(q.size()!=)
q.pop(); if(d!=heap.top())ans3=;
if(heap.size()!=)
heap.pop(); }
}
if(ans1==)
cout<<"YES"<<endl;
else cout<<"NO"<<endl;
if(ans2==)
cout<<"YES"<<endl;
else cout<<"NO"<<endl;
if(ans3==)
cout<<"YES"<<endl;
else cout<<"NO"<<endl;
return ;
}

T4308 数据结构判断的更多相关文章

  1. 11-10 CC150第一章

    题目: 1.1 Implement an algorithm to determine if a string has all unique characters. What if you can n ...

  2. 【笔试】T实习生2014 总结

    2014.4.12 是T的广州站,就在本校,很方便.考前一两天,临时抱佛脚,看着HTMLdog上的网页知识.就算考前,还在懊悔自己为什么不好好利用清明假期,多看点,看多点?哎,哎.. 谁知道一拿到试卷 ...

  3. MONGO的简单语法,新手实用

    window上启动方式:(简单略) mongod --dbpath E:\study_lib\mongodb\db --port=27000 show dababases; (创建配置文件的启动方式) ...

  4. form数据请求参数格式

    请求后台参数格式问题 当请求后台传递参数时,有多中类型,而每一种都需要前后台进行配合,而这有时候会很简单,有时候却十分困难,记录一下,以备后期深究 数据 后台需要的数据 form表单 嵌套数据,第二层 ...

  5. Fabric1.4源码解析:客户端安装链码

          看了看客户端安装链码的部分,感觉还是比较简单的,所以在这里记录一下.       还是先给出安装链码所使用的命令好了,这里就使用官方的安装链码的一个例子: #-n 指定mycc是由用户定义 ...

  6. BZOJ 1067:[SCOI2007]降雨量(RMQ+思维)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1067 题意:…… 思路:首先我们开一个数组记录年份,一个记录降雨量,因为年份是按升序排列的,所以我们 ...

  7. 蓝桥杯 试题 历届试题 发现环 并查集+dfs

    问题描述 小明的实验室有N台电脑,编号1~N.原本这N台电脑之间有N-1条数据链接相连,恰好构成一个树形网络.在树形网络上,任意两台电脑之间有唯一的路径相连. 不过在最近一次维护网络时,管理员误操作使 ...

  8. redis 数据删除策略和逐出算法

    数据存储和有效期 在 redis 工作流程中,过期的数据并不需要马上就要执行删除操作.因为这些删不删除只是一种状态表示,可以异步的去处理,在不忙的时候去把这些不紧急的删除操作做了,从而保证 redis ...

  9. 腾讯暑期 前后七面 + hr(已拿offer面经)

    以下是时间线 魔方 魔术师工作室 3.19 一面(120mins) c++ struct和union区别? 指针和引用的区别? 左值和右值? 字节对齐的作用? 什么情况下需要自定义new? mallo ...

随机推荐

  1. spring cloud 服务消费

    Ribbon Ribbon可以在通过客户端中配置的ribbonServerList服务端列表去轮询访问以达到均衡负载的作用. 当Ribbon与Eureka联合使用时,ribbonServerList会 ...

  2. Fabric原理剖析

    Fabric架构   image.png Fabric网络   image.png Fabric模块   image.png Fabric交易流 根据Hyperledger Fabric 1.0架构, ...

  3. uses-permission和permission详解

    1.<uses-permission>: 官方描述: If an application needs access to a feature protected by a permissi ...

  4. .NET 的 WebSocket 开发包比较 【已翻译100%】--网址:http://www.oschina.net/translate/websocket-libraries-comparison-2

    编者按 本文出现在第三方产品评论部分中.在这一部分的文章只提供给会员,不允许工具供应商用来以任何方式和形式来促销或宣传产品.请会员报告任何垃圾信息或广告. Web项目常常需要将数据尽可能快地推送给客户 ...

  5. Getting Started with the Intel Media SDK

    By Gael Hofemeier on March 19, 2015 Follow Gael on Twitter: @GaelHof Media SDK Developer’s Guide Med ...

  6. Snowflake算法 ID生成

    Snowflake算法 ID生成 http://blog.csdn.net/w200221626/article/details/52064976 使用UUID或者GUID产生的ID没有规则 Snow ...

  7. bzoj 3073 Journeys —— 线段树优化连边

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3073 建两棵线段树,一棵从下往上连边,一棵从上往下连边,叶子节点之间也有连边: 区间向区间连 ...

  8. 51Nod 1327 棋盘游戏 —— 延迟DP

    题目:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1327 看博客:https://www.cnblogs.com/Na ...

  9. Google Play应用商店的下载路径(转载)

    转自:http://blog.yanwen.org/archives/1660.html 其实,好久之前就想知道google play中下载的应用到哪里去了.之前用的MIUI系统里面,google p ...

  10. float以后设置的小细节

    先看看下面这段css代码,是不是很完美?没错? #pageBodyMain .articleList a: after { content: ""; clear: both; di ...