hrbust 1578 哈理工oj 1578 Prince and little Princess-2【双向队列】
2016-03-18 19:04
417 查看
Prince and little Princess-2 | ||||||
| ||||||
Description | ||||||
这一厢,小公主对王子念念不忘。那一厢,王子也发现自己喜欢上了那个大雨中偶遇的小公主。 然而,邻国有一个公主也喜欢王子。她发现王子喜欢上小公主后,就不高兴了。她央求一个巫女给了她一个口袋。这个口袋很特别,每当小公主想要吃苹果的时候,公主拿到的并不是口袋顶部的苹果,而是口袋底部的苹果。 结果小公主每次都预料错了自己吃的苹果的大小,譬如小公主给出back的命令,得到的是袋顶苹果的大小,但是给出pop命令后拿到的居然是袋底的苹果,如果这个苹果很大,小公主就吃撑了。日复一日,不按常理吃饭的结果是小公主病了。 | ||||||
Input | ||||||
有多组输入样例,每次测试样例第一行有一个数字n; 第一行一个正整数n(n <= 50),表示口袋里现在苹果的数量。袋底的苹果编号为0,从袋底到袋顶标号依次变大,袋顶的苹果标号为n-1。这次由于这个巫女的袋子,小公主每次吃到的都是最底的那个苹果了。 第二行有有n个整数,每个整数表示从0 到n-1号苹果。 接下来有若干行命令,保证不会有不合法的命令。命令有5种形式: push a,a是一个正整数,表示往口袋里装重量为a的苹果; pop,表示看看袋子底部苹果的重量并将其从袋子中取出; back, 表示看看袋子顶部苹果的重量但并不取出; empty, 表示看一看口袋里是否还有苹果,如果还有呢就输出”^_^”,要是没有了就输出"T^T".. end表示小公主要结束了,不再折磨可怜的口袋了。 | ||||||
Output | ||||||
对于每个 pop 命令输出小公主取出的苹果的重量; 对于empty命令,输出正确的答案; 对于 back 命令,输出口袋顶部苹果的重量。 每个命令答案输出为一行。 | ||||||
Sample Input | ||||||
5 26 18 3 2 1 push 1 back pop back empty pop pop pop back pop pop empty end | ||||||
Sample Output | ||||||
1 26 1 ^_^ 18 3 2 1 1 1 T^T | ||||||
Author | ||||||
曾卓敏@Amber |
一些基础操作:
push---------------------->push_back()/push_front()
pop------------------------>pop_back()/pop_front()
top/front------------------>x.front()/x.back()
询问队列中元素个数:s.size()
AC代码:
#include<stdio.h>
#include<string.h>
#include<deque>
using namespace std;
int main()
{
int n;
while(~scanf("%d",&n))
{
deque<int >s;
for(int i=0;i<n;i++)
{
int k;
scanf("%d",&k);
s.push_back(k);
}
char a[25];
while(1)
{
scanf("%s",a);
if(strcmp(a,"end")==0)break;
if(strcmp(a,"pop")==0&&s.size()!=0)
{
printf("%d\n",s.front());
s.pop_front();
}
if(strcmp(a,"back")==0&&s.size()!=0)
{
printf("%d\n",s.back());
}
if(strcmp(a,"empty")==0)
{
if(s.size()==0)
{
printf("T^T\n");
}
else
{
printf("^_^\n");
}
}
if(strcmp(a,"push")==0)
{
int k;
scanf("%d",&k);
s.push_back(k);
}
}
}
}
相关文章推荐
- 搭建高质量的Android项目框架系列二
- swift系统学习第二章
- java第二次作业
- dsmcc dc oc 比较
- Java 数据源 DataSource 架构分析 (jdk7/tomcat7)
- 有关Monkey命令的两个隐藏选项
- QUICK-COCOS2DX 2.2.3接入短信SDK教程
- 实现多线程下载同一个文件
- root用户更改密码
- 培养下属的12条黄金原则!
- VMware vSphere 6.0 升级已知问题
- myloader还原恢复详解
- 在mt7628实现alsa架构解码并播放音频文件
- 4个你需要知道的Asset Catalog的秘密
- 简述操作系统
- bug_ _ android.view.WindowManager$BadTokenException: Unable to add window -- token
- ps
- 求自然数幂和的各种方法(还有坑)
- LightOJ 1032 Fast Bit Calculations
- jQuery动画效果