【PAT甲级】1051. Pop Sequence (25)

来源:互联网 发布:算法设计的思维是什么 编辑:程序博客网 时间:2024/05/22 07:48
#include <stdio.h>#include <stack>#include <deque>using namespace std;int main(int argc, char *argv[]) {    int m, n, k, a;    scanf("%d %d %d", &m, &n, &k);    while (k--) {        stack<int> s;        deque<int> v;        for (int i = 0; i < n; i++) {            scanf("%d", &a);            v.push_back(a);        }        bool flag = false;        for (int i = 1; i <= n; i++) {            s.push(i);            if (s.size() > m) break;            while (!s.empty() && s.top() == v.front()) {                s.pop();                v.pop_front();            }        }        if (v.empty()) flag = true;        if (flag) printf("YES\n");        else printf("NO\n");    }    return 0;}
0 0