PTA_2021年团体程序设计天梯赛_总决赛_L2-1 包装机 (25 分)

stack

string 查找字符并删除_temp_two_means

// L2-1 包装机 (25 分)
#include<bits/stdc++.h>
using namespace std;

vector<string> v;
stack<char> st;
string ans;

int main()
{
    string s; int n,m,size,i,op;

    while( cin>>n>>m>>size )
    {
        cin.get(); 
        v.clear(); st=stack<char>(); ans.clear();

        v.push_back( "-1" );
        for( i=0;i<n;i++ ) { getline( cin,s ); v.push_back( s ); }

        while( cin>>op )
        {
            if( op==-1 ) break;

            if( op==0 )     // 
            {
                if( st.size() ) { ans+=st.top(); st.pop(); }
            }
            else if( v[op].size() ) // 如果轨道已经空了,再按对应的按钮不会发生任何事
            {
                if( st.size()==size ) { ans+=st.top(); st.pop(); }

                st.push( v[op][0] );
                v[op].erase( 0,1 );
            }
        }
        cout<<ans<<endl;
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_63173957/article/details/123676755