TSOI2 锻炼计划 模拟
2017-09-10 17:25
183 查看
【题目描述】:
身体是革命的本钱,OIers不要因为紧张的学习和整天在电脑前而忽视了健康问题。小x设计了自己的锻炼计划,但他不知道这个计划是否可行,换句话说如果计划不当可能会让他的体力超支,所以小x请你帮助他。一天有1440分钟,所以小x列出的是这一整天第1至第1440分钟的计划。小x的体力用一个整数来表示,他会按照计划表进行锻炼,同时,每分钟小x的体力会自动增加1。如果某一分钟末小x的体力小于等于零,那么可怜的小x就累死了……
【输入描述】:
第一行是用空格分开的两个整数n,m,分别表示小x的初始体力值和计划的项目数量。从第二行开始的m行,每行描述一个锻炼项目:名称、开始时间a、结束时间b、每分钟耗费的体力(用空格分隔),表示此项目从第a分钟初开始,第b分钟末结束。锻炼项目按照开始时间递增顺序给出,不会出现两个项目时间冲突的情况。
【输出描述】:
输出包括两行,如果计划可行,第一行输出"Accepted",第二行输出这一天过后最后剩余的体力;否则在第一行输出"Runtime Error",第二行输出在第几分钟累死。
【样例输入1】:
10 1 Basketball 1 10 1
【样例输出1】:
Accepted 1440
【样例输入2】:
1 1 Nunchakus 1 1 2
【样例输出2】:
Runtime Error 1
【时间限制、数据范围及描述】:
时间:1s 空间:128M0<n<=2^31-1
0<=m<=500
所有中间值的绝对值不会超过2^31-1
每一个锻炼项目的名称不超过20个字符,其中不含空格。
解题思路:
这道题是一道比较简单的模拟题,枚举每一秒的情况再按题目说的做即可。
AC代码:
#include<iostream> #include<cstdio> using namespace std; int n,m,e[1445]; char s[25]; struct node{ int l,r,x; }a[505]; int main(){ scanf("%d%d",&n,&m); for(int i=1;i<=m;i++){ scanf("%s ",s); scanf("%d%d%d\n",&a[i].l,&a[i].r,&a[i].x); for(int l=a[i].l;l<=a[i].r;l++){ e[l]+=a[i].x; } } for(int i=1;i<=1440;i++){ n++; n-=e[i]; if(n<=0){ printf("Runtime Error\n%d\n",i); return 0; } } printf("Accepted\n%d\n",n); return 0; }
相关文章推荐
- JZOJ4740. 【雅礼联考GDOI2017模拟9.2】Zjr506的捕猫计划(2017.8B组)
- JZOJ 3351.【NOI2013模拟】神牛养成计划2
- 【模拟】洛谷 P1089 津津的储蓄计划
- NYOJ 2356 哈希计划(模拟)
- 【模拟】【NOIP2004提高组】津津的储蓄计划
- 2014.10.6模拟赛【锻炼计划】
- php脚本 模拟实现 shell 脚本(任务计划)
- [模拟][哈希]刷题计划
- 【JZOJ 4309】【NOIP2015模拟11.4】刷题计划 刷题计划
- 【模拟】【NOIP2004提高组】津津的储蓄计划
- JZOJ 4740 【雅礼联考GDOI2017模拟9.2】Zjr506的捕猫计划
- UVA - 1587 Box :锻炼了我的模拟能力
- 【雅礼联考GDOI2017模拟9.2】Zjr506的捕猫计划
- Tyvj 1599 锻炼计划
- NYOJ 2356 哈希计划(模拟)
- 锻炼计划
- 科学家计划研制化学计算机可模拟神经元-----注:微型迷你智能机械时代
- 【健身】程序员也应该知道的胸背体态矫正锻炼技巧(下)附训练计划
- poj 1573 Robot Motion 【模拟】【刷题计划】
- JZOJsenior4740.【雅礼联考GDOI2017模拟9.2】Zjr506的捕猫计划