HDU 2082 找单词
2015-07-12 14:18
323 查看
分析:举个例子:比如第10个字母有5个,要你找前10个字母组合值为40的,只需找前9个字母值分别为40-0*10,40-1*10,40-2*10,40-3*10,40-4*10相加就可以了,所以前i个字母,值为j的组合数s[i][j]=s[i-1][j-k*i],k为第i个字母的个数 ,且值j-k*i>=0.
# include <stdio.h> # include <string.h> int main() { int i,j,k,n,sum,num[27],s[27][51]; scanf("%d",&n); while(n--) { memset(s,0,sizeof(s)); for(i=1;i<=26;i++) scanf("%d",&num[i]); for(i=0;i<=26;i++) s[i][0]=1; for(i=1;i<=26;i++) for(j=1;j<=50;j++) for(k=0;k<=num[i]&&j-k*i>=0;k++) s[i][j]+=s[i-1][j-k*i]; for(i=1,sum=0;i<=50;i++) sum+=s[26][i]; printf("%d\n",sum); } return 0; }
相关文章推荐
- struts2 CVE-2013-1965 S2-012 Showcase app vulnerability allows remote command execution
- JQuery 选择器总结
- BGP additional paths
- 分遗产
- 归并排序 递归和非递归实现
- 【Balanced Binary Tree】cpp
- 弹窗开关js
- 高可用集群原理
- maxsum
- yii2文件(图片)上传,url保存到数据表
- poj解题报告——3254
- 【DP】 HDOJ 5282 Senior's String
- BZOJ 4116 Wf2015 Tours Tarjan
- Linux 网络编程常用函数详解
- 数据结构基础温故-4.树与二叉树(上)
- 20150712 We can locate ourselves with the GPS
- CAXA2007、2011,2013二次开发
- iOS,viewWithTag搜索机制
- Xcode自动注释插件
- java异常分析(一)