[hdu1059]Dividing 多重背包
来源:互联网 发布:自动排料软件 编辑:程序博客网 时间:2024/05/18 02:47
import java.io.*;import java.util.Arrays;public class Main {//dp[i] = dp[i] || dp[i-bag[j]]//01背包空间优化一下static boolean judge(boolean dp[], int bag[], int num, int tg) {Arrays.fill(dp, false);dp[0] = true;for (int i = 0; i < num; ++i) {for (int j = tg; j >= bag[i]; --j) {if (dp[j-bag[i]]) dp[j] = true;}}return dp[tg];}public static void main(String args[]) throws IOException {final int MAX = 130000;boolean [] dp = new boolean[MAX];int [] bag = new int[MAX];int [] a = new int[10];StreamTokenizer cin = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));PrintWriter cout = new PrintWriter(new OutputStreamWriter(System.out));for (int cas = 1;; ++cas) {int sum = 0;for (int i = 1; i <= 6; ++i) {cin.nextToken();a[i] = (int)cin.nval;sum += a[i] * i;}if (sum == 0) break;int num = 0;for (int i = 1; i <= 6; ++i) {int m = 1, n = 1;while (n <= a[i]) {if (a[i] >= n) bag[num++] = m * i;else bag[num++] = (a[i] - n) * i;if ((m << 1) + n <= a[i]) m <<= 1;n += m;}}cout.println("Collection #" + cas + ":");cout.println(((sum&1) == 0 && judge(dp, bag, num, sum>>1) ? "Can" : "Can't") + " be divided.");cout.println("");}cout.flush();}}
Java搞的时候要小心'\n'字符的问题,在toj上println中加入'\n'是可以A的,但是hdu很奇葩,会出现PE问题,所以空行一定要println("")不能直接在上一句println中接'\n'
0 0
- hdu1059 Dividing 多重背包
- [hdu1059]Dividing 多重背包
- hdu1059 Dividing (多重背包)
- hdu1059 Dividing 【多重背包】
- HDU1059 && POJ1014 :Dividing(多重背包)
- hdu1059 &poj1014 Dividing (多重背包)
- HDU1059 Dividing 多重背包 ACM
- poj1014 hdu1059 Dividing 多重背包
- hdu1059 Dividing (多重背包)
- hdu1059 Dividing(多重背包)
- HDU1059 && POJ1014 :Dividing(多重背包)
- HDU1059 Dividing (多重背包)
- HDU1059 Dividing(多重背包)
- ZOJ1149 POJ1014 HDU1059 Dividing,多重背包问题
- 【二进制拆分多重背包】【HDU1059】【Dividing】
- hdu1059 Dividing(多重背包+二进制优化)
- hdu1059 Dividing(多重背包+二进制优化)
- HDU1059:Dividing(多重背包二进制优化)
- 非常酷的可视化日志分析软件:Logstalgia
- 【CSS】IE7局部滚动区域下绝对定位或相对定位元素不随滚动条滚动的bug
- xml-schema小案例
- SQLServer控制用户访问权限表
- BufferedInputStream
- [hdu1059]Dividing 多重背包
- B/S和C/S架构的区别
- windows下使用xShell向远程linux上传文件
- 學習UI/UX的四大重點
- 微信链接打开本地应用
- HDOJ 1285 确定比赛排名(拓扑排序)
- web前端开发的一些感受
- 一对多··Hibernate添加数据方式(一)
- xml-复合元素