Tyvj 1599 锻炼计划

本文详细阐述了一个关于锻炼计划的模拟问题,通过一分钟一分钟的模拟,直到一天结束或体力耗尽,探讨如何判断是否会累死及最终体力状态。涵盖了从输入参数到输出结果的完整流程,包括数据范围、样例解析及做题思路,为读者提供了全面的理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目:

 锻炼计划

来源:

 Tyvj 1599

题目大意:

 给定M个计划和初始体力N,每项计划中会损耗体力,每秒会增加1体力,求是否会  累死,输出何时累死,若没事则输出最后的体力。一天1440分钟

数据范围:

 0<=m<=500

样例:

 10 1

 Basketball 1 10 1

Accepted
1440

做题思路:

 一分钟一分钟的模拟,知道死或者没有计划或者这一天结束了为止

知识点:

 模拟、枚举

var
 a,b,s:array[0..510]of longint;
 n,m,i,j:longint;
 ch:char;
begin
 readln(n,m);
 fori:=1 to m do
  begin
  read(ch);
  while ch<>' ' do read(ch);
  readln(a[i],b[i],s[i]);
  end;
 j:=1;
 fori:=1 to 1440 do
  begin
  inc(n);
   if(i>=a[j])and(i<=b[j]) then{<在计划中减体力>}
   begin
    dec(n,s[j]);
   end;
   ifi>=b[j] then{<已经结束计划了>}
   begin
    inc(j);
   end;
   ifn<=0 then{<累死了>}
   begin
    writeln('Runtime Error');
    writeln(i);
    halt;
   end;
   ifj>m then{<没有计划了>}
   begin
    inc(n,1440-i);
    writeln('Accepted');
    writeln(n);
    halt;
   end;
  end;
 writeln('Accepted'); {<这一天结束了>}
 writeln(n);
end.
题目来源: http://www.tyvj.cn:8080/Problem_Show.asp?id=1599

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值