买糖果(京东2016实习生真题)
题目描述
某糖果公司专门生产儿童糖果,它最受儿童欢迎的糖果有A1、A2两个序列,均采用盒式包装。包装好的A1类糖果体积为一个存储单位,而包装好的A2类糖果体积正好是A1类的两倍。
这两类糖果之所以广受儿童欢迎,是因为糖果中含有公司独家研发的魔幻因子。A1或A2序列中的糖果,看起来包装可能是一样的,但因为其中的魔幻因子含量不同被细分为不同的产品。
临近传统节日,公司的糖果供不应求。作为一个精明的糖果分销商,小东希望能够借此大赚一笔,于是带着现金开着货车来公司提货。货车的容量是确定的,小东希望采购的糖果能够尽可能装满货车,且糖果的魔幻因子总含量最高。只要不超出货车容量,糖果总可以装入货车中。
小东希望你能帮她解决这一问题。
import java.util.Scanner;
/**
* 标准的0-1背包问题,使用动态规划解决!
*
*
*/
public class Main{
public static void main(String[] args){
Scanner input = new Scanner(System.in);
while(input.hasNextInt()){
// 1、从键盘获取输入,顺便判断容量是否能装下所有糖果(节约内存!)
// 若不进行判断提交时会有内存溢出问题
int n = input.nextInt();
int v = input.nextInt();
int[] nums = new int[n];
int[] weights = new