UVa 144 - Student Grants
来源:互联网 发布:android编程语言 编辑:程序博客网 时间:2024/06/01 08:20
題目:有n個學生排隊取錢,取款機每次給的錢數是一個遞增序列,從1開始到k后又從1開始;
如果學生取夠40元就離開,否則回到隊尾,如果給的錢加上學生手中的錢多餘40,
剩下的錢給下一個人,請你輸出離開的序列編號。
分析:數據結構(DS),模擬。利用隊列模擬即可,注意如果剩下的錢沒被取走,就不會出新的錢。
說明:又是好長時間沒刷題╮(╯▽╰)╭。
#include <cstring>#include <cstdio>typedef struct _queue{int id;int value;_queue(int I, int V) { id = I; value = V; }_queue(){}}queue;queue Q[1001],Temp;int queue_head = 0;int queue_tail = 0;void queue_initial(){queue_head = 0;queue_tail = 0;memset(Q, 0, sizeof(Q));}void queue_insert(queue a){Q[queue_tail ++] = a;}queue queue_delete(){return Q[queue_head ++];}int main(){int n, k;while (~scanf("%d%d",&n,&k) && n+k) {queue_initial();for (int i = 1; i <= n; ++ i)queue_insert(queue(i, 0));int value = 1,last = 1;while (n) {Temp = queue_delete();last = value;while (n && last+Temp.value >= 40) {last = last+Temp.value-40;printf("%3d",Temp.id);n --;if (last) Temp = queue_delete();}if (last) {Temp.value += last;queue_insert(Temp);}if(++ value > k)value = 1;}printf("\n");} return 0;}
0 0
- UVa 144 - Student Grants
- UVA 144 Student Grants
- uva 144 Student Grants(队列模拟过程)
- UVa144 Student Grants
- Shipping Grants
- student
- student
- student
- student
- student
- SGU 318 Grants
- Mysql账号权限查询(grants)
- mysql show grants查看权限
- New* Government Grants & Free U.s Money.
- Student.java
- student.class
- csdn student
- student 类库
- 实时显示iOS编写UI代码效果
- NGINX介绍及参数
- 无边框手机为什么很难实现
- Linux下tar.xz结尾的文件的解压方法
- Java tutorial 1
- UVa 144 - Student Grants
- python super()
- 黑马程序员--小结
- 欢迎使用CSDN-markdown编辑器
- 文件描述符标志和文件状态标志区别
- iOS开发系列--音频播放、录音、视频播放、拍照、视频录制
- 如何查看linux命令源代码和函数源代码
- html 的表格元素总结
- 计算机冷门知识