1051. Pop Sequence (25)

来源:互联网 发布:淘宝书店转让 编辑:程序博客网 时间:2024/05/18 07:41

    模拟压栈、弹栈操作,判断合法性

#include <iostream>#include <cstdio>#include <stack>using namespace std;int main(){int m, n, k;scanf("%d%d%d", &m, &n, &k);for(int i = 0; i < k; ++i){stack<int> s;bool valid = true;int curr = 1;for(int j = 0; j < n; ++j){int num;scanf("%d", &num);if(valid){while(s.empty() || s.top() != num){s.push(curr++);if((int)s.size() > m){valid = false;break;}}if(valid && s.size() && s.top() == num) s.pop();}}if(valid) printf("YES\n");else printf("NO\n");}return 0;}


0 0
原创粉丝点击