呜呜呜呜!!66分求调

B3614 【模板】栈

mengzhixingchen @ 2024-11-01 15:07:30

#include <iostream>
#include <cmath>
#include <iomanip>
#include <stack>
#include <string>
#include <cctype>
using namespace std;
string s[1000005],y;
int main(){
    stack<string>a;
    int t,j=0;
    cin>>t;
    int b[t];
    for(int i=0;i<t;i++){
        cin>>b[i];
        getline(cin,y);
        string s1[b[i]+10];
        for(int k=0;k<b[i];k++){
            getline(cin,s1[k]);
            if(s1[k][0]=='p'&&s1[k][1]=='u'){
                string o;
                for(char c : s1[k]){
                    if(isdigit(c)){
                        o+=c;
                    }
                }
                a.push(o);
            }
            if(s1[k][0]=='p'&&s1[k][1]=='o'){
                if(!a.empty())a.pop();
                else{
                    s[j]="Empty";
                    j++;
                }
            }
            if(s1[k][0]=='q'){
                if(!a.empty()){
                    s[j]=a.top();
                    j++;
                }else{
                    s[j]="Anguei!";
                    j++;
                }
            }
            if(s1[k][0]=='s'){
                int w=a.size();
                s[j]=to_string(w);
                j++;
            }
        }
    }
    for(int i=0;i<j;i++){
        cout<<s[i]<<endl;
    }
    return 0;
}

|