1051. Pop Sequence (25)
2017-02-10 19:49
302 查看
出栈的模拟
#include<iostream>
#include<algorithm>
#include<vector>
#include<map>
#include<string>
#include<set>
#include<stack>
using namespace std;
stack<int> s;
int m, n, k;
int main(){
cin>>m>>n>>k;
for(int i = 0; i < k; i++){
int cur = 1;
bool flag = true;
while(!s.empty()) s.pop();
for(int j = 0; j < n; j++){
int temp;
scanf("%d",&temp);
if(flag){
if(cur > temp){
if(s.top() != temp){
flag = false;
}
}
else{
while(cur <= temp){
s.push(cur);
if(s.size() > m){
flag = false;
// break;
}
cur++;
}
}
s.pop();
}
}
if(flag){
printf("YES\n");
}
else{
printf("NO\n");
}
}
return 0;
}
#include<iostream>
#include<algorithm>
#include<vector>
#include<map>
#include<string>
#include<set>
#include<stack>
using namespace std;
stack<int> s;
int m, n, k;
int main(){
cin>>m>>n>>k;
for(int i = 0; i < k; i++){
int cur = 1;
bool flag = true;
while(!s.empty()) s.pop();
for(int j = 0; j < n; j++){
int temp;
scanf("%d",&temp);
if(flag){
if(cur > temp){
if(s.top() != temp){
flag = false;
}
}
else{
while(cur <= temp){
s.push(cur);
if(s.size() > m){
flag = false;
// break;
}
cur++;
}
}
s.pop();
}
}
if(flag){
printf("YES\n");
}
else{
printf("NO\n");
}
}
return 0;
}
相关文章推荐
- libdvbpsi源码分析(四)PAT表解析/重建
- PAT配置
- 什么是端口复用动态地址转换(PAT) 介绍配置实例
- MikroTik layer7-protocol
- PAT是如何工作的
- PAT 乙级题:1002. 写出这个数 (20)
- PAT (Advanced Level) Practise 1001-1010
- PAT (Basic Level) Practise (中文)
- 数据结构学习与实验指导(一)
- PAT Basic Level 1001-1010解题报告
- PAT 数素数
- PAT 福尔摩斯的约会
- PAT 德才论
- PAT 月饼
- 1001. 害死人不偿命的(3n+1)猜想
- 1002. 写出这个数
- 1032. 挖掘机技术哪家强
- 1001. 害死人不偿命的(3n+1)猜想 (PAT basic)
- 1002. 写出这个数(PAT Basic)
- 1004. 成绩排名(PAT Basic)