导弹拦截
题目背景
某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。
输入导弹依次飞来的高度,计算这套系统最多能拦截多少导弹,如果要拦截所有导弹最少要配备多少套这种导弹拦截系统。
以上是经典问题 NOIP1999 导弹拦截,与本题无关。
题面描述
战争爆发,敌国发射了一发重量为 的导弹。为了应对这发导弹,某国只能拿出远古的导弹拦截系统。
经过 年的韬光养晦,某国的导弹拦截系统正逐渐变差。此时,一发炮弹可能无法击毁一个导弹了。
这个系统的每一发炮弹都有一个重量 ,并且这个重量不会大过当前导弹的重量,并且以后的每一发的重量都不会大过上一发的重量。一发炮弹打中导弹后,导弹的重量就会减去 。
当然,这个炮弹的重量至少为 。
为了应对所有可能发生的情况,导弹拦截系统的操作员需要先计算出有多少种可能的拦截方案。由于太大,他只需要计算方案数 。
输入格式
一行两个整数 ,表示导弹的重量和模数。
输出格式
一行一个整数,表示拦截方案 。
样例
4 4
1
样例解释
如果第一发打了重量为 的炮弹,导弹就成功拦截了。
如果第一发打了重量为 的炮弹,那还需要再打一发重量为 的炮弹。
如果第一发打了重量为 的炮弹,则有两种情况。一种是打出了一发重量为 的炮弹,一种是打出两发重量为 的炮弹。
如果第一发打了重量为 的炮弹,则还需要打出 发重量为 的炮弹。
因此一共有 种拦截导弹的方式。输出 。
对于 的数据,,。
数据有梯度。
国庆提高/省选组比赛
- Status
- Live... (Attended)
- Rule
- IOI
- Problem
- 40
- Start at
- 2025-10-15 19:32
- End at
- 2025-11-16 0:00
- Duration
- 1104 hour(s)
- Host
- Partic.
- 85