sdut 2135 数据结构实验之队列一:排队买饭
生活随笔
收集整理的這篇文章主要介紹了
sdut 2135 数据结构实验之队列一:排队买饭
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?數據結構實驗之隊列一:排隊買飯
Time Limit:?1000MS?Memory Limit:?65536KB Submit?Statistic?DiscussProblem Description
中午買飯的人特多,食堂真是太擁擠了,買個飯費勁,理工大的小孩還是很聰明的,直接奔政通超市,哈哈,確實,政通超市里面也賣飯,有好幾種菜,做的比食堂好吃多了,價格也不比食堂貴,并且買菜就送豆漿,吸引了不少童鞋。所以有時吧,人還是很多的,排隊是免不了的,悲劇的是超市只有兩個收銀窗口。
問題是這樣的:開始有兩隊人在排隊,現在咱們只研究第一隊,現在我們給每個人一個編號,保證編號各不相同,排在前面的人買完飯就走了,有些人挑完飯就排在后面等待付款,還有一些人比較聰明,看到另一個隊人比較少,直接離開這個隊到另一個隊去了。我要問的是隊的總人數和某個位置上人的編號。
Input
首先輸入一個整數m(m<10000),代表當前有m個人,第二行輸入m個數,代表每個人的編號,第三行輸入一個整數n(n<10000),代表隊列變動和詢問一共n次,以后n行,JOIN X表示編號為X(保證與以前的編號不同)的人加入;LEAVE Y表示第Y(Y小于當前隊列長度)個位置?上的人離隊?;ASK Z(Z小于當前隊列長度)表示詢問第Z個位置上的人的編號;FINISH??D表示有D個人買完飯離開了;LENGTH表示詢問隊列的長度?。保證所有數據在int?范圍內.
Output
對每個詢問輸出相應的答案,每個答案占一行。
Example Input
31 2 36JOIN 4ASK 2LEAVE 2LENGTHFINISH 2LENGTHExample Output
2 3 1 想用鏈隊寫來著,數據那么大,擔心超時,還是算了吧switch() 里面支持的類型里面沒有string
#include <iostream> #include <stdio.h> #include <malloc.h> using namespace std; /*typedef struct node {int date; }; typedef struct sq {node *front;node *rear; }; void initqueue(sq *&q) {q=(sq*)malloc(sizeof(sq));q->front=q->rear=NULL; } int main() {sq *q;initqueue(q);int m;for(int i=0;i<m;++i)}*/ int main() {char c[8];int p[20000],m,n,k,t;string s;cin>>m;for( k=1;k<=m;k++)cin>>p[k];cin>>n;for(int i=0;i<n;++i){cin>>s;if(s=="JOIN")cin>>p[k++];else if(s=="ASK"){cin>>t;cout<<p[t]<<endl;}else if(s=="LEAVE"){cin>>t;for(int i=t;i<k;i++)p[i]=p[i+1];k--;}else if(s=="LENGTH")cout<<k-1<<endl;else if(s=="FINISH"){cin>>t;for(int i=1;i<k;i++)p[i]=p[i+t];k-=t;}}return 0; }
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀
總結
以上是生活随笔為你收集整理的sdut 2135 数据结构实验之队列一:排队买饭的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: A Simple Math Proble
- 下一篇: sdut 2088 数据结构实验之栈与队