zoukankan      html  css  js  c++  java
  • 1051 Pop Sequence (25分)栈

    刷题

    题意:栈的容量是5,从1~7这7个数字,写5个测试数据

    做法:模拟栈

    #include<bits/stdc++.h>
    using namespace std;
    const int maxn=1010;
    int a[maxn];
    stack<int> st;//不用定义大小呀,
    //题目那也只是意味着,到那个大小你需要判断一下,并不是让你真的构造一个那么样大小的栈,
    //如果要是越界了还会报错,难道你还要写异常不成? 
    int main() {
        int M,N,K;
        cin>>M>>N>>K;
        for(int j=0; j<K; j++) {
            while(!st.empty()){//压根就没想到,要把之前没有清空的栈这样清空 
                st.pop();
            }
            for(int i=0; i<N; i++) cin>>a[i];
            int z=0,flag=1;
            for(int i=1; i<=N; i++) {
                st.push(i);
                if(st.size()>M){//栈的size() 
                    flag=0;
                    break;
                }
                while(!st.empty() &&st.top()==a[z]){//这里没搞明白,第1次写的是if,而不是while 
                //而自己在脑子里的推演也应该是,如果需要出栈就一直出栈的,可写在代码里却不是那样 
                    z++;
                    st.pop();
                }
            }
            if(j!=0)cout<<endl;
            if(flag && st.empty()==true)cout<<"YES";//自己定义的flag是一意味着成功,可是最开始写的时候
            //还是写成了!flag,头脑都僵住了 
            else cout<<"NO";
        }
    }

    唉,好难呀,2021好难呀

  • 相关阅读:
    从sql查询结果集中查询
    tsql中with用法
    tsql 2005 ROW_NUMBER
    基于对象的C#
    逍遥游
    Creating Custom Solutions for Document Collaboration
    Word template
    Jquery :nthchild 选择用法
    .net 转换任意类型不报错
    Dom 中同级元素 选择第几个的另类方法
  • 原文地址:https://www.cnblogs.com/xx123/p/14337480.html
Copyright © 2011-2022 走看看