博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu1085
阅读量:4346 次
发布时间:2019-06-07

本文共 1720 字,大约阅读时间需要 5 分钟。

/*#include
#include
#include
#include
using namespace std;int c1[8010], c2[8010];int main() { int s[4], v[4] = {0, 1, 2, 5}; while (scanf("%d%d%d", &s[1], &s[2], &s[3]) != EOF) { if (s[1] == 0 && s[2] == 0 && s[3] == 0) break; int sum = 0; sum+=s[1] + s[2]*v[2] + s[3]*v[3]; memset(c1, 0, sizeof(c1)); for (int i = 0; i <= s[1]; i++) { c1[i] = 1; } memset(c2, 0, sizeof(c2)); for (int i = 2; i <= 3; i++) { for (int j = 0; j <= sum; j++) { for (int k = 0, count = 0; count<=s[i]&&k+j <= sum; k+=v[i], count++) { c2[k+j] += c1[j]; } } for (int j = 0; j<= sum; j++) { c1[j] = c2[j]; c2[j] = 0; } } for(int j=0; j <= sum; j++){ if(c1[j]==0){ printf("%d\n",j); break; } } }}*/#include
#include
using namespace std;const int MAX = 8000;int arr[MAX+10], brr[MAX+10];int main() { int s[4]; int v[4]={ 0, 1, 2, 5}; while (cin>>s[1]>>s[2]>>s[3]) { if (s[1]==0&&s[2]==0&&s[3]==0) return 0; int n = 0; for (int i = 1; i <= 3; i++) n+=s[i]*v[i]; memset(arr,0,sizeof(arr)); memset(brr,0,sizeof(brr)); arr[0] = 1; for (int i = 1; i <= 3; i++) { for (int j = 0; j <= n; j++) { for (int k =0, count = 0; count <= s[i] && j+k <= n; k+=v[i],count++) { brr[j+k] += arr[j]; } } for (int l =0; l <= n; l++) { arr[l] = brr[l]; brr[l] = 0; } } int a; for (a = 1; a <= n; a++) { if (arr[a] == 0) break; } cout<
<

 

转载于:https://www.cnblogs.com/a863886199/p/7818963.html

你可能感兴趣的文章
Linux Namespace : User
查看>>
交换两个整形变量的数值
查看>>
Linux----常用操作
查看>>
sequence
查看>>
Delphi错误:Stack overflow的解决方法
查看>>
取消chrome(谷歌浏览器)浏览器下最小字体限制
查看>>
模板方法模式
查看>>
什么是ECC内存?
查看>>
使用Visual Studio 2013进行UI自动化测试
查看>>
13-集体照
查看>>
读了曾国藩家书,,心态逐渐平和起来。搞技术的如果缺乏信念的指引,生活会很乏味无聊!...
查看>>
前端javascript 错误 Uncaught SyntaxError: Unexpected token ILLEGAL
查看>>
Selenium WebDriver问题--无法打开Chrome浏览器
查看>>
2017.4.18 Java的Integer与int互转
查看>>
小程序接受返回数组的坑
查看>>
echart.js的使用
查看>>
linux7.2系统中安装Nmon并使用
查看>>
HTML转换为PDF
查看>>
邮件加密和签名
查看>>
自己动手写一个单链表
查看>>