SGU 363 Baggage room 模拟排队
来源:互联网 发布:制作生日快乐贺卡软件 编辑:程序博客网 时间:2024/05/18 03:37
题意:有m(1<-m<=100)个窗口,n(1<=n<=100)个人在ki时刻来处理业务时间为ti,每当一个来的时候总是站在人最少且编号最小的窗口,
输出每个人选择的窗口和结束业务的时刻。
Sure原创,转载请注明出处。
#include <iostream>#include <cstdio>#include <queue>#include <memory.h>using namespace std;const int inf = 1 << 29;const int maxn = 102;struct info{ int ki,ti,wi,pos;}name[maxn];queue <int> Q[maxn];int num[maxn];bool vis[maxn];int m,n,cnt,tot;void init(){ memset(num,0,sizeof(num)); memset(vis,false,sizeof(vis)); cnt = tot = 0; for(int i=1;i<=m;i++) { while(!Q[i].empty()) Q[i].pop(); } return;}void clear(int b){ for(int i=0;i<b;i++) { if(vis[i] == false) name[i].wi++; } for(int i=1;i<=m;i++) { if(num[i] > 0) { int cur = Q[i].front(); name[cur].wi--; if(name[cur].wi + name[cur].ti == tot) { Q[i].pop(); vis[cur] = true; num[i]--; cnt--; } } } return;}void read(){ for(int i=0;i<n;i++) { scanf("%d %d",&name[i].ki,&name[i].ti); } return;}void go(int bj){ int t = inf,p = -1; for(int i=1;i<=m;i++) { if(num[i] < t) { t = num[i]; p = i; } } Q[p].push(bj); cnt++; num[p]++; name[bj].pos = p; name[bj].wi = tot; return;}void solve(){ int l = 0; while(true) { clear(l); while(l < n && name[l].ki <= tot) { go(l); l++; } if(cnt == 0 && l == n) break; tot++; } for(int i=0;i<n;i++) { printf("%d %d\n",name[i].pos , name[i].wi + name[i].ti); } return;}int main(){ while(~scanf("%d %d",&n,&m)) { init(); read(); solve(); } return 0;}
- SGU 363 Baggage room 模拟排队
- SGU 115 Calendar (模拟)
- 银行排队模拟
- 模拟打印机排队打印
- 模拟赛 排队
- 排队看病模拟
- 排队看病模拟
- 银行排队模拟
- java 模拟窗口排队
- 模拟银行排队系统
- 【水模拟】#54 A. Chat room
- Room
- SGU 257 Debt 贪心 + 模拟
- SGU 127 Telephone directory (模拟)
- SGU 239 Minesweeper 模拟题
- 第七周--排队看病模拟
- 项目5 排队看病模拟
- 第七周 模拟排队看病
- lightroom使用小结七 调整作品 渐变滤镜局部调整色彩
- 黑色简易的网页选项卡(实则滑动门)
- Java解析XML的四种方式
- BNU City Travel
- POJ3259 Wormholes(虫洞)(SPFA解决)
- SGU 363 Baggage room 模拟排队
- 【GIT】Git基础命令
- <3>c语言实现ATM存取款系统(数组实现)
- Mysql工具集——性能测试工具-MysqlBench
- lightroom使用小结八 调整作品 笔刷滤镜局部调整
- Unity使用NetworkView无法连接的一种解决方法
- lightroom使用小结九 调整作品 锐化和导出作品
- <4>c语言实现ATM存取款系统(链表)
- 2011年北京区域赛I-Activation