浙大数据结构题目
来源:互联网 发布:软件测试自学网站 编辑:程序博客网 时间:2024/05/29 03:59
线性结构4 Pop Sequence(25 分)
Given a stack which can keep M numbers at most. Push N numbers in the order of 1, 2, 3, …, N and pop randomly. You are supposed to tell if a given sequence of numbers is a possible pop sequence of the stack. For example, if M is 5 and N is 7, we can obtain 1, 2, 3, 4, 5, 6, 7 from the stack, but not 3, 2, 1, 7, 5, 6, 4.
Input Specification:
Each input file contains one test case. For each case, the first line contains 3 numbers (all no more than 1000): M (the maximum capacity of the stack), N (the length of push sequence), and K (the number of pop sequences to be checked). Then K lines follow, each contains a pop sequence of N numbers. All the numbers in a line are separated by a space.
Output Specification:
For each pop sequence, print in one line “YES” if it is indeed a possible pop sequence of the stack, or “NO” if not.
Sample Input:
5 7 51 2 3 4 5 6 73 2 1 7 5 6 47 6 5 4 3 2 15 6 4 3 7 2 11 7 6 5 4 3 2
Sample Output:
YESNONOYESNO
题目的意思是:
1. 有一个堆栈限制大小为M , 测试K组数据数列, 每组数列的长度是N;
2. 以1,2,3…N的顺序往队列压数据,可以随时pop处理;判断是否pop出来的数据的顺序和我们给的数列(长度也是N)是否相同;相同YES,不相同NO;
3. 一个测试K组:
以下是用C++完成
#include <stdio.h>#include <stdlib.h>#include <stdbool.h>#include <stack>#include <iostream>#include <algorithm>using namespace std; int main() { int M;//Max of stack 5 int N;//length of push sequence 7 int K;//num of pop sequence to be check cin>>M>>N>>K; stack<int> sta; int v; int flag = true; int tmp; for(int i=0;i<K;i++) { flag = true; tmp = 1; for(int j =0;j<N;j++) { cin>>v; //一定要输完的 while(flag&&sta.size()<=M){ if(sta.size()==0||sta.top()!=v){//放入 sta.push(tmp++); } else if(sta.top()==v){//顶部相同 sta.pop();//推出一个后应该指针 转到下一个 break; } } if(sta.size()>M){ flag= false; } } if(flag){ printf("YES\n"); }else{ printf("NO\n"); } while(!sta.empty()) sta.pop(); } return 0; }
- 浙大数据结构题目
- 2-5浙大版《数据结构(第2版)》题目集
- 浙大版《数据结构(第2版)》题目集 简单计算器
- 浙大数据结构-HuffMan Code
- 浙大 ZOJ 题目分类【转】
- 浙大PTA数据结构Pop Sequence
- 【搬运】浙大 数据结构 快速排序
- Maximum Subsequence Sum浙大数据结构
- 浙大复试上机题目解答(1)
- 浙大复试上机题目解答(2)
- 浙大复试上机题目解答(3)
- 浙大OJ网址及ACM题目分类
- 浙大ACM 1311题目翻译和答案
- 浙大OJ网址及ACM题目分类
- zoj浙大acm题目分类整理
- 题目1012:畅通工程(浙大)
- 数据结构题目
- 数据结构题目
- MySQL常用命令
- 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 A Tree 树分治 矩阵 没有逆元和交换律的树链统计
- 数组中两个元素的最小距离
- 20171001
- 摆摊
- 浙大数据结构题目
- DS, ES, SS, DI, SI, BP, SP, IP, FS 寄存器
- String类不可变以及不可变类总结
- 使用laravel进行微信开发要注意的关键点
- JSONP 应用
- 【模板】高精度
- 快速沃尔什变换详解(FWT)
- 51nod 1491 黄金系统
- 【经典必学】常用开源框架中设计模式使用分析