求助
  • 板块灌水区
  • 楼主zhaoguochen
  • 当前回复1
  • 已保存回复1
  • 发布时间2023/12/31 09:48
  • 上次更新2023/12/31 11:39:08
查看原帖
求助
628609
zhaoguochen楼主2023/12/31 09:48

题目描述 小明正在玩一款名为仙剑奇侠传的游戏。

他已经打到最终boss拜月教主处了。

小明操控的李逍遥现在包裹里既有武器又有道具,他有以下攻击手段:

  • 使用道具对拜月教主造成伤害,道具使用一次后消失。
  • 使用剑普攻攻击对拜月教主造成伤害,剑可以进行无限次普通攻击。
  • 投掷剑对拜月教主造成伤害,剑投掷后消失。

为了方便描述此题,现做以下说明:

  • 我们认为所有剑有两种属性 a 和 b,分别表示该剑的普通攻击能造成的伤害和投掷能造成的伤害。
  • 道具可以看做只能进行投掷不能进行普通攻击的剑,即其属性 a=0。下面所有描述把道具视作剑的一种。
  • 李逍遥共有 n 把剑(道具当作剑处理)。其中第 i 把剑的属性为 ai, bi。
  • 拜月教主初始血量为 x,当其血量变为 0 或 0 以下时视作被打败。
  • 每个回合李逍遥需要选择一把剑进行普通攻击或投掷,如果选择第 i 把剑普通攻击,则造成 ai 点伤害;如果选择投掷,则造成 bi 点伤害,且投掷后该把剑消失。

请你帮助小明计算李逍遥打败拜月教主所需的最小回合数。

输入输出格式 输入格式: 输入共 n+1 行。 第一行两个整数 n,x 分别表示剑/道具的数量和拜月教主的初始血量。 接下来 n 行,每行两个数表示第 i 把剑的普攻伤害 ai 和投掷伤害 bi。(如果 ai=0 表示该剑为道具)

输出格式: 输出一行一个数表示打败拜月教主所需的最小回合数。

输入输出样例 输入样例#1: 1 5 1 2 输出样例#1: 4 输入样例#2: 2 10 5 4 2 7 输出样例#2: 2 输入样例#3: 10 1000 93 100 54 291 74 100 4 100 92 57 48 100 100 93 10 117 57 110 17 100 输出样例#3: 8 补充说明 【样例解释】 样例一: 只有一把剑,普攻3次再投掷,造成 3*1+2=5 点伤害,故最少需要 4 回合。 样例二: 有多种方案,可以第一把剑普攻 2 次或者两把剑各投掷一次等方案,最少需要 2 回合。

【限制与约定】 对于 30% 的数据:1 <= n <= 100,0 <= ai, bi <= 100, 1 <=x <= 1000; 对于 100% 的数据:1 <= n <= 1e5,0 <= ai, bi, x <= 1e9。 时间限制:1s 空间限制:512M

2023/12/31 09:48
加载中...