美文网首页
PAT甲级A1051---栈的应用

PAT甲级A1051---栈的应用

作者: 1nvad3r | 来源:发表于2020-07-24 08:40 被阅读0次

1051 Pop Sequence (25分)

1051
分析:

使用一个栈来模拟,将1~n依次入栈,在入栈过程中,如果入栈的元素恰好等于出栈序列当前等待出栈的元素,那么就让栈顶元素出栈,同时把出栈序列等待出栈的元素后移一位。此时如果栈顶元素还是等于待出栈元素,继续出栈。
有两种情况一定不合法,一是入栈的元素个数大于栈的最大值m,二是遍历完后栈内还有元素。

C++:
#include <cstdio>
#include <stack>

using namespace std;

const int maxn = 1010;
int arr[maxn];//保存题目给的出栈序列

int main() {
    int m, n, k;
    scanf("%d%d%d", &m, &n, &k);

    for (int i = 0; i < k; i++) {
        stack<int> st;
        for (int i = 0; i < n; i++) {
            scanf("%d", &arr[i]);
        }
        int pos = 0;
        bool flag = true;
        for (int i = 1; i <= n; i++) {
            st.push(i);
            if (st.size() > m) {
                flag = false;
                break;
            }
            //栈顶元素与出栈序列当前位置的元素相同时
            while (st.empty() == false && st.top() == arr[pos]) {
                st.pop();
                pos++;
            }
        }
        if (st.empty() == true && flag == true) {
            printf("YES\n");
        } else {
            printf("NO\n");
        }
    }
    return 0;
}

相关文章

  • PAT甲级A1051---栈的应用

    1051 Pop Sequence (25分) 分析: 使用一个栈来模拟,将1~n依次入栈,在入栈过程中,如果入栈...

  • PAT A1001 A+B Format (20)

    PAT A1001 A+B Format 原题链接PAT甲级题目目录(简书)PAT甲级题目目录(CSDN)在CSD...

  • 字符串输入问题

    PAT 甲级 1100 People on Mars count their numbers with base ...

  • PAT甲级题解 全部 JAVA版 持续更新

      临近过年,闲来无事。恰逢弟弟准备考PAT甲级,总是问我一些问题。又见网上PAT甲级多为c/c++版本的答案。罕...

  • PAT甲级A1056---队列的应用

    1056 Mice and Rice (25分) 分析: 用结构体存老鼠的重量和排名,定义队列按顺序处理每轮的老鼠...

  • PAT甲级 1043 Is It a Binary Search

    原题链接 PAT甲级 1043 Is It a Binary Search Tree (25 分) 题目大意 给定...

  • 2020-02-06

    PAT-甲级 做题笔记 目录 0000 做题 Tips 基本经验1003 Emergency (Dijkstra ...

  • PAT 甲级 1051 Pop Sequence (25) 栈模

    Pop Sequence (25)Given a stack which can keep M numbers a...

  • Pat 甲级 1001

    太感人终于把1001做对了,一开始没有看清题目要求。产生各种各样的错误,最后又有编译错误。在Pat中Java的类名...

  • Pat 甲级1002

    在编译器中将边界设为1001 然后提交的代码边界设为1000,结果产生了部分正确的结果,实在是不应该,浪费太多时间...

网友评论

      本文标题:PAT甲级A1051---栈的应用

      本文链接:https://www.haomeiwen.com/subject/heidlktx.html