图书馆
来源:互联网 发布:小猪cms正版多少钱 编辑:程序博客网 时间:2024/04/28 18:33
- Description
临近期末,去图书馆自习的人越来越多。图书馆一共有N张桌子,依次编号为1,2……,N;每张桌子都配有6把椅子。结伴去自习的GGMM们有个习惯,优先选择已坐人数最少的桌子,如果不只一种选择,则选择编号最小的桌子。同时,他们不会分开选择不同的桌子。
- Input
多组测试数据,每组数据第1行输入两个正整数N,Q(1≤N,Q≤50000)。接下来输入Q行,依次描述Q组事件。事件的输入格式如下:
① I a:有a位结伴的GGMM进入图书馆自习;
② D a b:编号为b的桌子上有a位GGMM离开;
③ C b:查询编号为b的桌子的空位数;
(1≤a≤6,1≤b≤N,第一组事件发生之前所有的座位都是空着的)输入直至文件结尾。
- Output
每组数据输出Q行。
对于事件①:如果成功地找到了座位,则输出桌子的编号,如果没能找到则输出“failed”;
对于事件②:如果编号为b的桌子当前坐着的人数小于a则输出“error”,并过滤这组事件,否则正常处理并输出“success”;
对于事件③:按要求输出空位数。(具体格式见样例)
- Sample Input
1 5
I 5
I 2
D 6 1
C 1
D 3 1
2 5
I 1
I 1
I 3
I 3
I 3
- Sample Output
1
failed
error
1
success
1
2
1
2
failed
#include<queue>#include<cstring>#include<iostream>using namespace std;struct Table{ int tag,person; bool operator < (const Table &a) const { if(a.person==person) return a.tag<tag; else return a.person<person; }};int N,Q,P[50050];priority_queue<Table> pq;void Pre(){ memset(P,0,sizeof(int)*(N+5)); while(pq.empty()!=true) { pq.pop(); } for(int i=1;i<=N;i++) { Table tmp; tmp.tag=i,tmp.person=0; pq.push(tmp); }}int main(){ //freopen("in.txt","r",stdin); //freopen("out.txt","w",stdout); while(cin>>N>>Q) { Pre(); int a,b; char s[2]; Table tmp; for(int i=0;i<Q;i++) { scanf("%s",s); if(s[0]=='C') { scanf("%d",&b); printf("%d\n",6-P[b]); continue; } if(s[0]=='D') { scanf("%d%d",&a,&b); if(P[b]>=a) { P[b]-=a; tmp.tag=b, tmp.person=P[b]; pq.push(tmp); printf("success\n"); } else printf("error\n"); continue; } if(s[0]=='I') { scanf("%d",&a); while(pq.top().person!=P[pq.top().tag]) { pq.pop(); } if(pq.top().person+a<=6) { printf("%d\n",pq.top().tag); P[pq.top().tag]+=a; tmp.tag=pq.top().tag, tmp.person=P[pq.top().tag]; pq.pop(), pq.push(tmp); } else printf("failed\n"); continue; } } } return 0;}
0 0
- 图书馆
- 图书馆
- 图书馆
- 图书馆
- 图书馆
- 图书馆
- 图书馆启示录
- 到图书馆
- 爱上图书馆
- 现代图书馆
- 哈佛图书馆
- 闲谈图书馆
- 写在图书馆。。。
- 图书馆系统
- 路过图书馆
- 360图书馆
- 途经图书馆
- 360图书馆?
- Spring MVC项目的构建过程
- C++继承:公有,私有,保护
- eclipse快捷键及各种设置
- 浏览网络图片
- 各种IO方式
- 图书馆
- 工作过程中遇到的问题记录
- AutoCompleteTextView实现自动提示
- 怎么面试架构师
- centos下 redis主从集群以及监控配置
- 【facebook】程序猿提高工作效率的15点技巧
- 浅析c++中virtual关键字
- SQL 中的 1NF 2NF 3NF三大范式
- HTTP长连接与短连接