排火车 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status Practice FZU 1884 Description 某天,Apple问起Gaga,”扑克牌排火车有没有玩过??”,”没有-_-“.Apple感到很不可思议,他决定马上教Gaga玩这个游戏.碍于手头上没有扑克牌,Apple就剪了几张卡片,然后在卡片上写上数字,然后对Gaga说“简单来讲,就是你有一堆牌,…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1042 栈的模拟,题目大意是已知元素次序, 判断出栈次序是否合理. 需要考虑到各种情况, 分类处理. 常见错误:使用前未清空栈 使用STL思路较为清晰 代码附上, 欢迎各位大神指点~~ #include <cstdio> #include <stack> #include <iostream> #include <vector> using namespace s…
栈的规律是是先进后出 队列的规律是先进先出 栈模拟队列 首先我们定义两个栈,一个放数据,一个出数据,判断B栈是否有元素,有元素则直接pop:没有元素则需要我们将A里面的元素出栈然后放到B里面,再取出,即实现队列的先进先出 最初思路想法 使用A和B两个栈来模拟队列,一个为入栈一个为出栈,这样来实现队列 两个栈stack1,stack2 入队在stack2.如果入队时stack2 不为空,那么stack2必须先清空(数据迁移到stack1 ),如果出对时stack2不为空,直接出栈.如果stack2…
这里有n列火车将要进站再出站,但是,每列火车只有1节,那就是车头. 这n列火车按1到n的顺序从东方左转进站,这个车站是南北方向的,它虽然无限长,只可惜是一个死胡同,而且站台只有一条股道,火车只能倒着从西方出去,而且每列火车必须进站,先进后出. 也就是说这个火车站其实就相当于一个栈,每次可以让右侧头火车进栈,或者让栈顶火车出站. 车站示意如图: 出站<—— <——进站 |车| |站| |__| 现在请你按<字典序>输出前20种可能的出栈方案. 输入格式 输入一个整数n,代表火车数量.…
C. 奇袭 题目类型:传统 评测方式:文本比较 内存限制:256 MiB 时间限制:1000 ms 标准输入输出   题目描述 由于各种原因,桐人现在被困在Under World(以下简称UW)中,而UW马上 要迎来最终的压力测试——魔界入侵. 唯一一个神一般存在的Administrator被消灭了,靠原本的整合骑士的力量 是远远不够的.所以爱丽丝动员了UW全体人民,与整合骑士一起抗击魔族. 在UW的驻地可以隐约看见魔族军队的大本营.整合骑士们打算在魔族入侵前 发动一次奇袭,袭击魔族大本营! 为…
#include <iostream> #include <cstring> #include <algorithm> #include <stack> #include <cstdio> +; stack <char> ss; char t1[N]; char t2[N]; int a,b;// a 表示将要入栈的第一个数 b 表示下一个出栈的数 *N]; int num; int n; ]={"in",&quo…
题目链接:https://leetcode-cn.com/problems/min-stack/description/ 设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈. push(x) -- 将元素 x 推入栈中.pop() -- 删除栈顶的元素.top() -- 获取栈顶元素.getMin() -- 检索栈中的最小元素. 题解: 以往,我们经常用 $min[i]$ 维护区间 $[1,i]$ 的最小值,在这里我们同样也可以这么做. AC代码(要想超过百分百的c…
1.后序遍历的非递归实现.(左右根) 难点:后序遍历的非递归实现是三种遍历方式中最难的一种.因为在后序遍历中,要保证左孩子和右孩子都已被访问并且左孩子在右孩子前访问才能访问根结点,这就为流程的控制带来了难题.下面介绍两种思路. 思路:有个关键的就是unUsed这个标识符. 当unUsed=1时,表示该节点未遍历过,即以该节点为根节点的左右孩子不曾遍历. 当unUsed=0时,表示该节点的左右孩子都已经被访问过. 由于入栈的顺序和出栈的顺序相反,所以若unUsed=1,则左根右节点依次入栈,且根节…
某天,无聊的小斌叫上几个同学玩游戏,其中有比较笨的小兴,比较傻的小雪,可爱的小霞和自以为是的小楠.他们去找聪明的小明去给他们当裁判.判定谁取得游戏胜利. 而这个游戏是由小斌想个1到10000000的数字让大家猜,看谁先猜中.为了防止小斌作弊,小明记录下了游戏的整个过程.你的任务是判断小斌是否有作弊. Input 输入数据包括多盘游戏.一次猜数包含两行,第一行是一个数字n(1<=n<=10000000),表示所猜数字.第二行是小斌的回答为"too high","to…
题意: 输入三个正整数M,N,K(<=1000),分别代表栈的容量,序列长度和输入序列的组数.接着输入K组出栈序列,输出是否可能以该序列的顺序出栈.数字1~N按照顺序随机入栈(入栈时机随机,未知在何时入栈,可能在某个栈内元素出栈以后). AAAAAccepted code: #define HAVE_STRUCT_TIMESPEC #include<bits/stdc++.h> using namespace std; ][]; int main(){ ios::sync_with_st…