小可家里有一个大饭店,每天都生意兴隆以至于去这个饭店吃饭需要取号排队,现在小可想了解饭店内顾客排队的情况。
输入格式
输入多行
每行都有一个英文单词
若英文单词为wait
,则表示有顾客在等待取餐,后面会再输入一个整数,表示这个顾客取的号是多少
若英文单词为ok
,则表示顾客取到餐离开
若英文单词为END
,则表示输入结束
输出格式
输出多行
每当有顾客取到餐离开时,输出该顾客的号码,若无人等待则输出none
。
输入数据 1
ok
wait 1
wait 2
ok
wait 3
ok
ok
ok
END
输出数据 1
none
1
2
3
none
写法
思路 :
队列实现,如果有人点餐,就入队,有人取餐成功,就弹出队伍
写法:
#include<bits/stdc++.h>
using namespace std;
#define int long long
queue<int>people;//排队问题用队列
signed main(){
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
string s;
while(1){
cin>>s;
if(s=="ok"){
if(people.empty()) cout<<"none\n";//如果是空
else{
cout<<people.front()<<endl;
people.pop();//取餐离开,出队
}
}
if(s=="wait"){//新增一个点餐人
int num;
cin>>num;
people.push(num);
}
if(s=="END") return 0;//输入结束
}
return 0;
}