母函数模板
来源:互联网 发布:天刀捏脸数据男禁欲 编辑:程序博客网 时间:2024/05/17 02:09
最近做了很多母函数的题,接下来给出能使用大部分题的母函数模板:
#include<iostream>#include<string.h>#include<stdio.h>using namespace std;int c1[1005],c2[1005];int a[15];//硬币的价值int n[15];//硬币的个数int main(){int i,j,k,T,q,w;scanf("%d",&T);while(T--){scanf("%d %d",&w,&q);for(i=1;i<=q;i++){ scanf("%d %d",&a[i],&n[i]);}memset(c1,0,sizeof(c1));memset(c2,0,sizeof(c2));for(i=0;i<=n[1]*a[1];i+=a[1])//初始化c1[i]=1;for(i=2;i<=q;i++)//i表示硬币价值的集合 { for(j=0;j<=w;j++) for(k=0;k<=n[i]&&k*a[i]+j<=w;k++) { c2[k*a[i]+j]+=c1[j]; } for(j=0;j<=w;j++) { c1[j]=c2[j]; c2[j]=0; } } cout<<c1[w]<<endl;}return 0;}如果有个数有下限的话,那么在初始化的时候这样写:(n1[]是下限,n2[]是上限)
for(i=n1[1]*a[1];i<=n2[1]*a[1];i+=a[1])//初始化c1[i]=1;
如果对所有的硬币个数有限制的话,就需要把数组再扩大一维,扩大的一维用来放总的硬币个数,代码如下:
#include<iostream>#include<string.h>#include<stdio.h>using namespace std;int c1[255][105],c2[255][105];int a[105];//硬币的价值int ans[255];int main(){ int m,i,j,k,l; a[1]=1,a[2]=5,a[3]=10,a[4]=25,a[5]=50; while(~scanf("%d",&m)) { memset(c1,0,sizeof(c1)); memset(c2,0,sizeof(c2)); memset(ans,0,sizeof(ans)); c1[0][0]=1; for(i=1;i<=5;i++)//i表示硬币价值的集合 { for(j=0;j<=m;j++) for(k=0;k*a[i]+j<=m;k++) for(l=0;k+l<=100;l++) { c2[k*a[i]+j][k+l]+=c1[j][l]; } for(j=0;j<=m;j++) for(l=0;l<=100;l++) { c1[j][l]=c2[j][l]; c2[j][l]=0; } } for(i=1;i<=m;i++) for(j=0;j<=100;j++) { ans[i]+=c1[i][j]; } ans[0]=1; cout<<ans[m]<<endl; } return 0;}
1 0
- HDU1028 (母函数模板)
- 母函数 入门 + 模板
- 母函数模板
- 母函数模板
- 母函数 入门 + 模板
- 母函数入门+模板
- 母函数入门+模板
- 母函数基本模板
- 母函数 入门+模板
- 母函数模板
- 母函数 入门 + 模板
- 母函数模板分析
- 母函数&&排列(模板)
- 母函数【模板】
- 母函数模板解释
- 母函数模板
- 母函数入门+模板
- 母函数 入门 + 模板
- Spring 中注入bean的properties配置文件位置问题解决
- java基础の抽象类
- activiti节点跳转
- 深入浅出CI框架之一
- 终于!那片海,来了群强硬的中国男人!
- 母函数模板
- LintCode:最长上升连续子序列
- IOS_改变UITextField placeHolder颜色、字体
- [编程之美]阶乘问题
- JavaScript权威指南
- C#索引器
- 友盟 集成测试 遇到问题
- arcgis api for js3.16做的一些简单功能
- Web开发 ☞ HTML DOM 用法