背包问题-背包01-苹果
来源:互联网 发布:南京听说科技软件破解 编辑:程序博客网 时间:2024/04/27 23:41
package 动态规划.背包01;
import java.util.Scanner;
public class 苹果 {
static class Apple {
public int c;
public int w;
public Apple(int c, int w) {
this.c = c;
this.w = w;
}
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (true) {
int n = sc.nextInt();
int v = sc.nextInt();
if (n == 0 && v == 0)
break;
Apple[] apple = new Apple[n];
for (int i = 0; i < n; i++) {
apple[i] = new Apple(sc.nextInt(), sc.nextInt());
}
int[] dp = new int[v + 1];
for (int i = 0; i < n; i++) {
for (int j = v; j >= apple[i].c; j--) {
dp[j] = Math.max(dp[j], dp[j - apple[i].c] + apple[i].w);
}
}
System.out.println(dp[v]);
}
}
}
import java.util.Scanner;
public class 苹果 {
static class Apple {
public int c;
public int w;
public Apple(int c, int w) {
this.c = c;
this.w = w;
}
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (true) {
int n = sc.nextInt();
int v = sc.nextInt();
if (n == 0 && v == 0)
break;
Apple[] apple = new Apple[n];
for (int i = 0; i < n; i++) {
apple[i] = new Apple(sc.nextInt(), sc.nextInt());
}
int[] dp = new int[v + 1];
for (int i = 0; i < n; i++) {
for (int j = v; j >= apple[i].c; j--) {
dp[j] = Math.max(dp[j], dp[j - apple[i].c] + apple[i].w);
}
}
System.out.println(dp[v]);
}
}
}
0 0
- 01背包--苹果,背包问题
- 背包问题-背包01-苹果
- 01背包问题 NYOJ苹果
- nyoj289-苹果,01背包问题
- nyoj苹果01背包问题
- NYOJ - 苹果(dp-01背包问题)
- nyoj289苹果(深搜解01背包问题)
- nyoj289苹果(广搜解01背包问题)
- Java算法-苹果(01背包问题)
- 苹果(再解01背包问题)
- NYOJ 289 苹果(01背包问题)
- 背包问题---01背包
- NYOJ289 苹果 【01背包】
- NYoj_DP_289苹果(01背包)
- nyist 苹果 01背包
- nyoj 苹果 01背包
- DP 背包问题 01背包
- 01背包 完全背包问题
- 利用Fiddler抓包移动端数据
- 背包问题-背包01-小数据
- VS2013 c++ 常量定义数组大小报错
- [2016-02-23]em和rem的使用详解
- struts2高级主题
- 背包问题-背包01-苹果
- C# winform与 flash as 的交互通讯
- Bug-struts2的action的通配符使用
- 【年度总结】于无声处听惊雷-2016年度总结
- NuGet的简单使用
- HTML Select控件的增、删、查、选操作
- 背包问题-背包01-硬币找零
- 你好世界
- linux chkconfg 报错