【编程题】应该怎么吃呢(Java实现)(大疆B卷第三题)(待续)

【编程题】应该怎么吃呢(Java实现)(大疆B卷第三题)

题目来源

大疆笔试B卷第三题(2019.8.6)

题目描述

小W非常喜欢吃零食,经常都会去零食间里购买半价的零食吃,但是他为了控制自己的体重,因此会限制自己买零食的开销在某个数值以内。但是小W有一个特别的爱好,他对于某些零食特别的喜欢,并且会对这些零食的喜爱成都进行排序。对于零食A和零食B,如果小W对零食A的喜爱程度大于对零食B的喜爱程度,那么每次拿零食的时候,一定会确保A的数目比B多。现在零食间里有N种零食,假设每种零食都是取不完的,但小W每次都会刚好花完所有的开销,那么小W去取零食的时候应该有多少种可能的取法呢?
输入描述
输入包含多组测试数据,每组数组:
第一行:买零食的开销 V (V < 1000) 和 所有的零食种类数目 N (N < 200)。
第二行:第 i 个正整数表示第 i 种零食的价格 c_i (c_i < 1000)。
第三行:特别喜欢的零食的种类数 M (2 <= M <= N)
第四行:按照对 M 种零食的喜爱程度从高到低排序,第 i 种零食的喜爱程度会大于第 i + 1 种,保证不会形成环
输出描述
对于每组测试数据:
输出一个整数ans,表示在满足小W的特殊偏好的情况下,并且花光所有开销,有多少可能方案。
(由于ans_i可能很大,因此最终结果 ans_i % 10000007)
输入样例
5 2
1 2
2
2 1
样例输出
1

题目解答

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值