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;
}
这里空空如也
有帮助,赞一个