hdu 2110 Crisis of HDU (完全背包求方案总数)
2014-02-20 20:05
423 查看
这题我寒假就写了一直写不对,找错误也找了很久就是找不对,某渣实在是太弱了,连一个裸的背包都写不对了
今天看到了一个大神写的代码之后终于找出了自己的错误,发帖警告自己以后别再犯
自己错误的原因:
在求解方案总数的过程没有取余
WA的代码:
AC的代码:
今天看到了一个大神写的代码之后终于找出了自己的错误,发帖警告自己以后别再犯
自己错误的原因:
在求解方案总数的过程没有取余
WA的代码:
#include<stdio.h> #include<math.h> #include<string.h> #include<algorithm> #include<limits.h> using namespace std; int main() { int n; while(scanf("%d",&n)!=EOF&&n) { int a[111]; int b[111]; int sum= 0; for(int i= 1; i<= n; i++) { scanf("%d %d",&a[i],&b[i]); sum+= a[i] * b[i]; } if(sum%3) { printf("sorry\n"); continue; } int dp[11111]; memset(dp,0,sizeof(dp)); dp[0]= 1; for(int i= 1; i<= n; i++) for(int j= sum/3; j>= 1; j--) for(int k= 1; k<= b[i]; k++) if(j>= k * a[i]) dp[j]+= dp[j- k* a[i]];//此处需取余 else break; if(dp[sum/3]) printf("%d\n",dp[sum/3]%10000); else printf("sorry\n"); } return 0; }
AC的代码:
#include<stdio.h> #include<math.h> #include<string.h> #include<algorithm> #include<limits.h> using namespace std; int main() { int n; while(scanf("%d",&n)!=EOF&&n) { int a[111]; int b[111]; int sum= 0; for(int i= 1; i<= n; i++) { scanf("%d %d",&a[i],&b[i]); sum+= a[i] * b[i]; } if(sum%3) { printf("sorry\n"); continue; } int dp[11111]; memset(dp,0,sizeof(dp)); dp[0]= 1; for(int i= 1; i<= n; i++) for(int j= sum/3; j>= 1; j--) for(int k= 1; k<= b[i]; k++) if(j>= k * a[i]) dp[j]= (dp[j] + dp[j- k* a[i]]) % 10000; if(dp[sum/3]) printf("%d\n",dp[sum/3]%10000); else printf("sorry\n"); } return 0; }
相关文章推荐
- hdu 2189 悼念512汶川大地震遇难同胞——来生一起走(完全 背包变形--求方案总数)
- Combinatorics——HDUOJ 2110 - Crisis of HDU(母函数 / 多重背包思想)
- hdu 1284 钱币兑换问题(完全背包 变形---求方案总数)
- hdu 1284 钱币兑换问题 完全背包之方案总数~
- HDU 1284(钱币兑换问题)完全背包求方案总数
- hdu 2110 Crisis of HDU(母函数)
- HDU 2110——Crisis of HDU
- HDU 1786 Tempter of the Bone again(大数+完全背包)
- HDU 2110 Crisis of HDU (母函数问题)
- hdu 2110 Crisis of HDU(母函数)
- poj 2229 Sumsets 完全背包求方案总数
- 背包问题---01背包|完全背包(装满背包的方案总数分析及实现)
- 杭电ACM hdu 2110 Crisis of HDU 解题报告(母函数)
- hdu_2110_Crisis of HDU(母函数)
- 杭电2110-Crisis of HDU
- 01背包”及“完全背包”装满背包的方案总数分析及实现
- 背包问题---01背包|完全背包(装满背包的方案总数分析及实现)
- hdu_2110_Crisis of HDU(母函数)
- 完全背包”最优方案总数分析及实现 结合实际例题
- 杭电 1284 钱币兑换问题【完全背包求方案总数】