站外题
  • 板块灌水区
  • 楼主beautifullll
  • 当前回复3
  • 已保存回复3
  • 发布时间2024/10/16 16:02
  • 上次更新2024/10/16 19:09:31
查看原帖
站外题
967912
beautifullll楼主2024/10/16 16:02

问题 : 杀怪升级


题目描述:

最近小明正在玩一款叫做FATE的游戏,为了得到极品装备,小明在不停的杀怪做任务。久而久之小明开始对杀怪产生的厌恶感,但又不得不通过杀怪来升完这最后一级。现在的问题是,小明升掉最后一级还需n的经验值,小明还留有m的忍耐度,每杀一个怪小明会得到相应的经验,并减掉相应的忍耐度。当忍耐度降到0或者0以下时,小明就不会玩这游戏。小明还说了他最多只杀s只怪。请问他能升掉这最后一级吗?


输入

输入数据有多组,对于每组数据第一行输入n,m,k,s(0 < n,m,k,s < 100)四个正整数。分别表示还需的经验值,保留的忍耐度,怪的种数和最多的杀怪数。接下来输入k行数据。每行数据输入两个正整数a,b(0 < a,b < 20);分别表示杀掉一只这种怪小明会得到的经验值和会减掉的忍耐度。(每种怪都有无数个)


输出

输出升完这级还能保留的最大忍耐度,如果无法升完这级输出-1。


样例输入

10 10 1 10
1 1
10 10 1 9
1 1
9 10 2 10
1 1
2 2


样例输出

0
-1
1


求DP具体的思路和过程

2024/10/16 16:02
加载中...