no no
2024-02-23 11:58:53
发布于:北京
#include<bits/stdc++.h>
using namespace std;
int main(){
	queue<string> vip;
    queue<string> nvip;
    int n,time=0;
    string h,m="0";
    cin>>n;
    while(n--){
        cin>>h;//每个单位时间都会有一个人来取号
        time++;
        if(m=="0"){//是否有人在办理业务
            m=h;
        }else {
            if(h[0]=='V'){//V加入vip队列
                 vip.push(h);
            }else if(h[0]=='N'){//N加入nvip队列
                 nvip.push(h);
            }
            
        }
        if(n==0)break;
        if(m[0]=='V'&&time==2){//vip办理业务结束(VIP顾客办理业务需要2个单位时间)
            //判断下一个办理业务的人是谁
            if(!vip.empty()){
                m=vip.front();
                vip.pop();
            }else if(!nvip.empty()){
                m=nvip.front();
                nvip.pop();
            }else{
                m="0";
            }
            time=0;
        }else if(m[0]=='N'&&time==4){//nvip办理业务结束(nVIP顾客办理业务需要4个单位时间)
            //判断下一个办理业务的人是谁
            if(!vip.empty()){
                m=vip.front();
                vip.pop();
            }else if(!nvip.empty()){
                m=nvip.front();
                nvip.pop();
            }else{//没有人在办理业务
                m="0";
            }
            time=0;
        }
    }
    if (m!="0")cout<<m<<' ';
    while(!vip.empty()||!nvip.empty()){//输出
        if(!vip.empty()){
            cout<<vip.front()<<" ";
            vip.pop();
        }else{
            cout<<nvip.front()<<" ";
            nvip.pop();
        }
    }
	return 0;
}
这里空空如也






有帮助,赞一个