给定一个信封,最多只允许粘贴N张邮票,计算在给定K(N+K≤40)种邮票的情况下(假定所有的邮票数量都足够),如何设计邮票的面值,能得到最大值MAX,使在1~MAX之间的每一个邮资值都能得到。
例如,N=3,K=2,如果面值分别为1分、4分,则在1分~6分之间的每一个邮资值都能得到(当然还有8分、9分和12分);如果面值分别为1分、3分,则在1分~7分之间的每一个邮资值都能得到。可以验证当N=3,K=2时,7分就是可以得到的连续的邮资最大值,所以MAX=7,面值分别为1分、3分。
N和K
每种邮票的面值,连续最大能到的面值数。数据保证答案唯一。
3 2
1 3
MAX=7
-------------------------------------------------------------------------qwq-------------------------------------------------------------------------------
无限orrrrrrrrrrrrrrrrrrz!!!
1.tmd由于memset(f,0x3f,sizeof(f))放在了f[0]=0的前面,于是bug了好久2333333333!一定要记住一定要记住这个该死的错误!
2.说一下连续的bug时我的做法,以后借鉴:
=>(1)首先我将程序的每一步都检验有没有错误,先排除掉其他没有错误的情况,在着重在错误的地方;
=>(2)然后找出错误,写一个简单的程序,和错误的那一步原理做法相同,然后继续将所有相关的变量都输出继续缩小错误的范围;如果这个好了,就和原来的对比,一定是细节哪里错了,眼睛瞪大来!
=>(3)一定不要轻易的去查题解,这样的话能够很快的ac然而没有什么卵用。也一定不要轻易的去找人帮助,1如果是你自己你一定不希望别人这样打扰你2来也没有什么卵用两个人的时间一同浪费简直是谋杀(。。。);
3.教训:
=>(1)如果不是轻易的非常有把握的水题,多写点注释以便找bug。养成好习惯,反正用不了一两分钟;
=>(2)一定要自己独立去完成不要轻易的找答案,那样的话进步的范围也很小;
=>(3)弱弱的题也不要轻视,很可能怎么调也调不好,水题正可以用来练找bug的速度;
4.代码:我的超时了,不过懒得改了,要注意是一个地方优化了一下四个点就全过,不然只能过三个点;
-----------------------------------------------------------------------TAT--------------------------------------------------------------------------------
优化版: