PAT 1051. Pop Sequence (25)
来源:互联网 发布:北京数据 编辑:程序博客网 时间:2024/05/22 02:15
1051. 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 2Sample Output:
YESNONOYESNO
这道题就是考察对stack的操作,代码如下:
#include <iostream>#include <stack>#include <cstring>using namespace std;int main(){int M,N,K;cin>>M>>N>>K;int result[1001];stack<int> s;while(K--){memset(result,0,sizeof(result));while(!s.empty())s.pop();for(int i=1;i<=N;i++)cin>>result[i];int j=1,flag=1,i;for(i=1;i<=N;i++){if(s.size()==M)s.pop();s.push(i);while(result[j]<=i&&result[j]>0){int f=s.top();if(f==result[j]){s.pop();j++;}else{flag=0;break;}}if(flag==0)break;}if(i<=N)cout<<"NO"<<endl;elsecout<<"YES"<<endl;}return 0;}
- 1051. Pop Sequence (25)-PAT
- 【PAT】1051. Pop Sequence (25)
- PAT 1051. Pop Sequence (25)
- PAT 1051. Pop Sequence (25)
- PAT 1051. Pop Sequence (25)
- PAT 1051. Pop Sequence (25)
- PAT 1051. Pop Sequence (25)
- PAT 1051. Pop Sequence (25)
- PAT 1051. Pop Sequence
- PAT 1051. Pop Sequence
- 【PAT】1051. Pop Sequence
- PAT--1051. Pop Sequence
- PAT-Pop Sequence (25)
- PAT A 1051. Pop Sequence (25)
- 【PAT甲级】1051. Pop Sequence (25)
- 1051. Pop Sequence (25)PAT甲级
- PAT甲级练习1051. Pop Sequence (25)
- PAT甲级1051. Pop Sequence (25)
- WINSERVER 2008 上安装MONGODB 64位
- Android中内容观察者的使用---- ContentObserver类详解
- ajax 中根据json数据不同 对页面中 选择框radio 进行动态选择
- 多按钮事件处理
- slickgird链接
- PAT 1051. Pop Sequence (25)
- github 修改tag
- 自定义控件 实现文本框输入模仿下拉框选择功能
- Android初学习 - 编译时不生成odex文件的方法
- 选择排序
- 设置文本排序及对齐
- 指针常量和常量指针
- 页面的跳转
- Ubuntu server 15.0.4安装Redis