HDU 1085-Holding Bin-Laden Captive!(生成功能)

HDU 1085-Holding Bin-Laden Captive!(生成功能)

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

Holding Bin-Laden Captive!

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 15384    Accepted Submission(s): 6892




Problem Description
We all know that Bin-Laden is a notorious terrorist, and he has disappeared for a long time. But recently, it is reported that he hides in Hang Zhou of China! 

“Oh, God! How terrible! ”


HDU 1085-Holding Bin-Laden Captive!(生成功能)

Don’t be so afraid, guys. Although he hides in a cave of Hang Zhou, he dares not to go out. Laden is so bored recent years that he fling himself into some math problems, and he said that if anyone can solve his problem, he will give himself up! 

Ha-ha! Obviously, Laden is too proud of his intelligence! But, what is his problem?

“Given some Chinese Coins (硬币) (three kinds– 1, 2, 5), and their number is num_1, num_2 and num_5 respectively, please output the minimum value that you cannot pay with given coins.”
You, super ACMer, should solve the problem easily, and don’t forget to take $25000000 from Bush!

 


Input
Input contains multiple test cases. Each test case contains 3 positive integers num_1, num_2 and num_5 (0<=num_i<=1000). A test case containing 0 0 0 terminates the input and this test case is not to be processed.

 


Output
Output the minimum positive value that one cannot pay with given coins, one line for one case.

 


Sample Input
   
   
1 1 3 0 0 0

 


Sample Output
   
   
4
仍旧是母函数水过。
题意:有3种面值的硬币{1,2,5} 如今给出这3种硬币的个数,求最小不能组成的面值。

暴力生成 a[]数组扫一遍第一个为0的就是最小不能组成的面值
#include <cstdio>
#include <iostream>
#include <algorithm>
#include <cstring>
#include <cctype>
#include <cmath>
#include <cstdlib>
#include <vector>
#include <queue>
#include <set>
#include <map>
#include <list>
#define maxn 100100
#define ll long long
#define INF 0x3f3f3f3f
#define pp pair<int,int>
using namespace std;
int a[maxn],b[maxn],v[3]={1,2,5},p,n[3];
void solve()
{
	p=n[0]+n[1]*2+n[2]*5;
	memset(a,0,sizeof(a));
	a[0]=1;
	for(int i=0;i<3;i++)
	{
		memset(b,0,sizeof(b));
		for(int j=0;j<=n[i]&&j*v[i]<=p;j++)
			for(int k=0;k+j*v[i]<=p;k++)
			b[k+j*v[i]]+=a[k];
		memcpy(a,b,sizeof(b));
	}
	int ans;
	for(ans=0;ans<=p;++ans)
		if(a[ans]==0)break;
	printf("%d\n",ans);
}
int main()
{
	while(~scanf("%d%d%d",&n[0],&n[1],&n[2]))
	{
		if(!n[0]&&!n[1]&&!n[2])break;
		solve();
	}
	return 0;
}

版权声明:本文博主原创文章,博客,未经同意不得转载。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/116966.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 三种方式实现网页二级菜单

    三种方式实现网页二级菜单方法一:使用HTML和CSS实现 首先是Html代码,习惯上会将菜单放在一个div里,使用盒子模型,方便以后的操作和设置样式。二级菜单也就是在一级菜单中的li中再添加一个ul-li结构 &lt;divclass="test"&gt; &lt;ul&gt; &lt;li&gt;A&lt;/li&gt; &lt;li&gt;B&lt..

  • 利用按键精灵实现QQ群发和微信群发「建议收藏」

    利用按键精灵实现QQ群发和微信群发「建议收藏」1前言注意:本教程只供学习参考之用,如用于群发广告等影响他人乃至违法犯罪行为等与本文作者无关。另外,转载请注明出处,尊重创作者劳动,谢谢。端午期间需要给微信和QQ的好友发送祝福,但是上千个好友都要发送比较困难,所以想到利用按键精灵撰写脚本的方式实现自动群发祝福。2解释说明&运行环境关于解释说明和程序运行环境请参考我之前的博文的2/3章节:按键精灵实现自动化点qq名片赞3QQ群发3.1几点注意在本demo中群发的是一串文本和一张图片,可以按照需要修改脚本代码。发送图片是通过

  • string的length方法(数组length方法)

    C#客户端,调用别家的webservice,返回信息报错,摘取其中重要的如下:Themaximumstringcontentlengthquota(8192)hasbeenexceededwhilereadingXMLdata.ThisquotamaybeincreasedbychangingtheMaxStringContentLengthpro…

  • 不浮躁,获取充实感

    不浮躁,获取充实感

    2021年12月17日
  • 02_JavaScript学习笔记整理-BOM浏览器对象模型

    02_JavaScript学习笔记整理-BOM浏览器对象模型

  • Sereja and Suffixes

    Sereja and Suffixes J- SerejaandSuffixesTimeLimit:1000MS     MemoryLimit:262144KB     64bitIOFormat:%I64d&amp;%I64uSubmit StatusDescriptionSerejahasanarray a,consistingof n integers a1, a2, …, …

    2022年10月28日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号