hdu 1085
来源:互联网 发布:linux dhcp分配主机名 编辑:程序博客网 时间:2024/06/07 06:19
#include <iostream>using namespace std;int main(int argc, char *argv[]){ int num[3]; int cent[3]={1,2,5}; //次数增长步长 while(scanf("%d %d %d",&num[0],&num[1],&num[2]) != EOF) { if(num[0]==0&&num[1]==0&&num[2]==0) break; int i,j,k; int c[8001],tempC[8001]; //因为三种硬币最多1000枚,1*1000+2*1000+5*1000=8000,那么多项式乘积的最高次数为8000 //c保存累计相乘各项的系数,tempC保存c和当前项相乘的系数 //c[i] 表示次数为i的那一项的系数 int max=num[0]+2*num[1]+5*num[2]; //求出该组输入条件下的最高次数 for(i=0;i<=8001;i++) { c[i]=0; tempC[i]=0; } //母函数为(1+x+x^2+...x^num[0])(1+x^2+x^4+....x^2*num[1])(1+x^5+x^10+...+x^5*num[2]) for(i=0;i<=cent[0]*num[0];i+=cent[0]) //第一个多项式的系数初始化 { c[i]=1; } for(i=1;i<3;i++) //i表示总共有多少个多项式 { for(j=0;j<=max;j++) //累计相乘的x^j的系数 { for(k=0;k+j<=max && k<=cent[i]*num[i];k+=cent[i]) //当前项x^k的系数 { tempC[k+j]+=c[j]; //x^j * x^k=x^(j+k) } } for(j=0;j<=max;j++) //将临时数组清零 { c[j]=tempC[j]; tempC[j]=0; } } for(i=0;i<=max;i++) { if(c[i]==0) break; } printf("%d\n",i); } return 0;}
0 0
- hdu 1085
- HDU 1085
- HDU 1085
- hdu 1085
- HDU 1085
- HDU 1085
- HDU 1085
- hdu 1085
- hdu 1085
- HDU 1085
- HDU 1085
- hdu 1085
- hdu 1085
- hdu 1085
- hdu 1085
- hdu 1085
- hdu 1085
- 母函数的应用 :HDU 1028/ HDU 1328 / HDU 1085
- hdu 1003 求连续子数列的最大和
- 职业规划
- SSH中如何进行单元测试
- 【漫立方译】交互式GPU光线追踪——用于基于物理的灯光预览
- LeetCode Solutions : Container With Most Water
- hdu 1085
- SpringMVC学习笔记(5) 启用(优化)注解+静态资源访问
- 1001 Exponentiation
- hdu round7 Magical Forest(map)
- 项目Mooc修改任务
- 怎么获取domino里面所有注册的用户名
- 次小生成树
- Xml学习
- CMake 入门实战(精)