sdut 2088 数据结构实验之栈与队列十一:refresh的停车场
生活随笔
收集整理的這篇文章主要介紹了
sdut 2088 数据结构实验之栈与队列十一:refresh的停车场
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
數(shù)據(jù)結(jié)構(gòu)實驗之棧與隊列十一:refresh的停車場
Time Limit:?1000MS?Memory Limit:?65536KB Submit?Statistic?DiscussProblem Description
?refresh最近發(fā)了一筆橫財,開了一家停車場。由于土地有限,停車場內(nèi)停車數(shù)量有限,但是要求進(jìn)停車場的車輛過多。當(dāng)停車場滿時,要進(jìn)入的車輛會進(jìn)入便道等待,最先進(jìn)入便道的車輛會優(yōu)先
進(jìn)入停車場,而且停車場的結(jié)構(gòu)要求只出去的車輛必須是停車場中最后進(jìn)去的車輛。現(xiàn)告訴你停車場容量N以及命令數(shù)M,以及一些命令(Add num 表示車牌號為num的車輛要進(jìn)入停車場或便道,
Del 表示停車場中出去了一輛車,Out 表示便道最前面的車輛不再等待,放棄進(jìn)入停車場)。假設(shè)便道內(nèi)的車輛不超過1000000.
Input
?輸入為多組數(shù)據(jù),每組數(shù)據(jù)首先輸入N和M(0< n,m <200000),接下來輸入M條命令。
Output
?輸入結(jié)束后,如果出現(xiàn)停車場內(nèi)無車輛而出現(xiàn)Del或者便道內(nèi)無車輛而出現(xiàn)Out,則輸出Error,否則輸出停車場內(nèi)的車輛,最后進(jìn)入的最先輸出,無車輛不輸出。
Example Input
2 6 Add 18353364208 Add 18353365550 Add 18353365558 Add 18353365559 Del OutExample Output
18353365558 18353364208 /*看了一會題意竟然沒看懂最后的結(jié)果是怎么輸出來的,看了解析之后才知道輸出的是停車場內(nèi)的出車順序*/
#include <iostream> #include <queue> #include <stack> using namespace std; int main() {int n,m;string num;while(cin>>n>>m){stack<string>s;queue<string>q;char a[4];int tag=0,t;for(int i=0;i<m;++i){cin>>a;if(a[0]=='A'){cin>>num;t=s.size();if(t==n)q.push(num);elses.push(num);}else if(a[0]=='D'){if(s.empty())tag=1;else{s.pop();//q.front();//if(!q.empty())//不要再錯寫成while(){s.push(q.front());q.pop();}}}else{if(q.empty())tag=1;elseq.pop();}}if(tag)cout<<"Error"<<endl;else{while(!s.empty()){cout<<s.top()<<endl;;s.pop();}}}return 0; }
總結(jié)
以上是生活随笔為你收集整理的sdut 2088 数据结构实验之栈与队列十一:refresh的停车场的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: sdut 2135 数据结构实验之队列一
- 下一篇: 第八周项目实践6 KMP算法(串的模式匹