poj 1837 Balance(01背包)
来源:互联网 发布:java数组奇偶分离 编辑:程序博客网 时间:2024/05/18 03:55
题意:一个天平,从左至右分别是-15到15的加权的钩子,给一些重量的物品,求有几种挂这些物品使天平平衡的方法个数。
思路:加权后重量的范围是-7500到7500。故枚举每个物品分别挂在每一个钩的状态,最后输出状态为0的个数
#include <iostream>#include <string>#include <cstring>#include <cmath>#include <algorithm>using namespace std;#define CL(a,b) memset(a,b,sizeof(a))#define M 15000#define LL unsigned __int64int a[30],f[30],c,g;LL dp[30][M+1];int main(){int i,j,k,l;while(scanf("%d%d",&c,&g)!=EOF){for(i=0;i<c;i++)scanf("%d",&a[i]);for(i=0;i<g;i++)scanf("%d",&f[i]);CL(dp,0);for(i=0;i<c;i++)dp[0][f[0]*a[i]+7500]=1;for(j=1;j<g;j++)for(i=0;i<c;i++)for(k=0;k<=M;k++)if(dp[j-1][k])dp[j][k+a[i]*f[j]]+=dp[j-1][k];printf("%I64u\n",dp[g-1][7500]);}}
- poj 1837 Balance(01背包)
- poj 1837 Balance (dp 01背包)
- poj 1837 Balance (01背包变形)
- poj 1837 Balance (dp,01背包)
- POJ 1837 Balance(01背包问题)
- 【POJ 1837】Balance(01背包)
- POJ 1837 Balance (DP-01背包)
- poj 1837 Balance(01背包)
- poj 1837 Balance--01背包
- poj 1837 Balance 01背包
- poj 1837 Balance (01背包)
- poj 1837 Balance (01背包)
- POJ 1837 Balance(01背包)
- POJ 1837 Balance (01背包)
- POJ 1837-Balance(01背包)
- POJ-1837-Balance -01背包
- POJ 1837 Balance(01背包)
- POJ 1837 Balance 01背包
- makefile详解 (四) 书写规则
- 一些经典的计算机书籍
- makefile详解 (五) 书写命令
- makefile详解 (六) 使用变量
- makefile详解 (七) 使用条件判断
- poj 1837 Balance(01背包)
- makefile详解 (八) 使用函数
- makefile详解 (九) make 的运行
- 计算机无法访问,您可能没有权限使用网络资源.请与这台服务器的管理员联系
- makefile详解 (十) 隐含规则
- 正则表达式笔记(Regular expression 2)
- 计算机的灵巧(HUD)操作系统
- makefile详解 (十一) 使用make更新函数库文件
- 纪念田健