博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU TIANKENG’s rice shop(模拟)
阅读量:5013 次
发布时间:2019-06-12

本文共 1339 字,大约阅读时间需要 4 分钟。

HDU 4884 TIANKENG’s rice shop

题意:模拟题。

思路:就模拟就可以。注意每次炒完之后就能够接单

代码:

#include 
#include
#include
using namespace std;const int N = 1005;int T, n, t, k, m;struct Person { int t, p, num, ans;} p[N];int main() { scanf("%d", &T); while (T--) { scanf("%d%d%d%d", &n, &t, &k, &m); for (int i = 0; i < m; i++) { int a, b; scanf("%d:%d%d%d", &a, &b, &p[i].p, &p[i].num); p[i].t = a * 60 + b; } int ti = p[0].t, i = 0; while (1) { if (p[i].num == 0) { i++; if (i == m) break; continue; } if (i == m) break; ti = max(ti, p[i].t); int st = ti; int pz = p[i].p; int have = k; while (have < p[i].num) { p[i].num -= have; ti += t; } have -= p[i].num; p[i].num = 0; st = ti; ti += t; p[i].ans = ti; for (int j = i + 1; p[j].t <= st && j < m && have; j++) { if (p[j].p != pz) continue; if (p[j].num == 0) continue; if (p[j].num > have) { p[j].num -= have; have = 0; } else { have -= p[j].num; p[j].ans = ti; p[j].num = 0; } } } for (int i = 0; i < m; i++) printf("%02d:%02d\n", p[i].ans / 60 % 24, p[i].ans % 60); if (T) printf("\n"); } return 0;}
posted on
2017-06-02 20:34 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/mthoutai/p/6935048.html

你可能感兴趣的文章
python-类属性与方法
查看>>
解决中文乱码( jsp表单提交中文时出现乱码)
查看>>
电脑通过vnc控制android 手机
查看>>
《构建之法》学习(1)——软件与软件工程
查看>>
redis缓存与数据库的记录不一致造成的问题.(乐观锁)
查看>>
dbca建库--linux上使用vnc图形化安装oracle10g版本
查看>>
详解SQL Server Profiler分析死锁几大步骤
查看>>
JAVA 调用matlab【转】
查看>>
python程序设计——面向对象程序设计:类
查看>>
Labview学习笔记(二)
查看>>
在MySQL中使用explain查询SQL的执行计划
查看>>
域名解析中A记录、CNAME、MX记录、NS记录的区别和联系
查看>>
VMware Workstation 14 PRO 下安装Ubuntu 16.04 LTS教程
查看>>
TK窗体框架的应用
查看>>
IIS 7.5 去掉index.php 西数服务器
查看>>
【iOS】no identity found Command /usr/bin/codesign failed with exit code 1
查看>>
StringBuilder 详解 (String系列之2)
查看>>
hive partition 分区使用
查看>>
Hive 数据类型
查看>>
如何使文字TextView居中
查看>>