#NK202505H. VI Civilization
VI Civilization
题目描述
在六明文游戏中,玩家需要达成科技胜利条件:在 回合内累计投入至少 点科技点到科技胜利槽。
游戏中共有 项科技。游戏初始时,只有第一项科技 处于解锁状态并可被完成,其余科技均处于锁定状态。玩家必须按照 $\mathrm{Tech}_1 \to \mathrm{Tech}_2 \to \cdots \to \mathrm{Tech}_n$ 的固定顺序依次完成科技,不能跳过或改变顺序。只有当玩家完成了前 项科技(即 至 )后,第 项科技 才会被解锁。
每项科技的完成都需要投入一定数量的科技点。玩家可以投入生产力来触发该科技的“尤里卡”时刻,以减少科技完成所需投入的科技点,每个科技的“尤里卡”时刻只能触发一次。完成科技后,玩家每回合获得的科技点将会增加。
每个科技 有四个参数:
- :完成此科技所需的科技点;
- :完成后每回合科技点的增量;
- :触发尤里卡所需的生产力;
- :触发尤里卡后可减少的科技点()。
六明文是回合制游戏,每回合玩家先获得科技点和生产力,然后进行科技点和生产力的分配。科技点和生产力的分配必须是完整的(不能拆分到多个任务),且当前回合的科技点和生产力不会保存到下一回合。
游戏进程如下:
-
在每个回合开始时,玩家获得:
- 科技点 (完成科技 后, 永久增加 );
- 固定生产力 (整场游戏保持不变)。
-
接着,玩家进行回合操作:
科技点分配
- 将此回合获得的科技点 完整投入到已解锁的科技或科技胜利槽。
- 投入科技时,超出部分浪费,且不会用于完成下一个科技。完成第 项科技 后, 永久增加 。
- 投入科技胜利槽时直接累加。
生产力分配
- 将此回合获得的生产力 完整(不能拆分到多个科技尤里卡)投入到任意科技尤里卡(无论该科技是否已解锁)。
- 投入科技尤里卡时,超出部分浪费。触发科技尤里卡后,可减少对应科技完成所需的科技点(减少量为 )。
任务:求最小的生产力 (非负整数),使得存在一种操作策略,能在 回合内达成科技胜利(即科技胜利槽的科技点 )。若无法在 回合内完成,输出 。
输入格式
- 第一行:三个整数 ,分别表示初始每回合科技点产出 、胜利槽目标 、允许的最多回合数 。
- 第二行:整数 ,表示科技数目。
- 接下来 行:第 行包含四个整数 ,对应第 项科技的参数,其中:
- :完成该科技所需的科技点;
- :完成后每回合科技点增量;
- :触发尤里卡所需的生产力;
- )。
输入按行、以空格分隔,严格按上述顺序给出,所有值为非负整数。
输出格式
输出一个整数 —— 满足条件的最小非负整数生产力 。如果不存在使得在不超过 回合内达到科技胜利的方法,输出。
输入输出样例 #1
输入 #1
10 100 9
2
50 10 20 25
60 10 30 20
输出 #1
4
输入输出样例 #2
输入 #2
22 970 8
3
85 24 9 27
81 20 85 44
30 80 75 7
输出 #2
-1
说明/提示
对于第组样例:
-
回合 1:获得 科技点和 生产力。将生产力分配给 的尤里卡,科技点分配给 (累计科技点:)。
-
回合 2:获得 科技点和 生产力。将生产力继续投入 的尤里卡,科技点继续投入 (累计投入:)。
-
回合 3:获得 科技点和 生产力。生产力继续投入 的尤里卡,科技点继续投入 (累计投入:)。
-
回合 4:获得 科技点和 生产力。生产力继续投入 的尤里卡,科技点投入到科技胜利槽(胜利槽累计:)。此前对 的累计投入仍为 。
-
回合 5:获得 科技点和 生产力。生产力继续投入 的尤里卡,科技点再投入到科技胜利槽(胜利槽累计:)。
此时 的尤里卡累计生产力为 ,触发尤里卡,使需求变为
由于已累计投入科技点 , 完成,产出增加 ,即每回合科技点从 变为
-
回合 6:获得 科技点和 生产力。将科技点投入到科技胜利槽(累计:)。
-
回合 7:获得 科技点和 生产力。将科技点投入到科技胜利槽(累计:)。
-
回合 8:获得 科技点和 生产力。将科技点投入到科技胜利槽(累计:)。
-
回合 9:获得 科技点和 生产力。将科技点投入到科技胜利槽(累计:)。
因此在上述策略下, 是可行的,满足在不超过 回合内使胜利槽达到目标 。可以证明不存在的答案。