首页 > hdu 1085 Holding Bin-Laden Captive!

hdu 1085 Holding Bin-Laden Captive!

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! ” 







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



解析:

母函数的变形题,还是正常模拟两个式子相乘,然后循环找没有系数的那个值,

注意:循环到 sum+1 (因为会出现 2 0 0 情况 这时的值为 3
#include 
#include 
using namespace std;int main()
{int num_1,num_2,num_5,sum;int c1[8005],c2[8005];while(cin>>num_1>>num_2>>num_5){if(num_1==0&&num_2==0&&num_5==0)break;sum=(num_1+num_2*2+num_5*5);for(int i=0;i<=num_1;i++){c1[i]=1;c2[i]=0;}for(int i=0;i<=num_1;i++)for(int j=0,ans=0;j<=num_2;j++,ans+=2){c2[i+ans]+=c1[i];}memcpy(c1,c2,sizeof(c2));memset(c2,0,sizeof(c2));for(int i=0;i<=num_1+num_2*2;i++){for(int j=0,ans=0;j<=num_5;j++,ans+=5)c2[i+ans]+=c1[i];}memcpy(c1,c2,sizeof(c2));memset(c2,0,sizeof(c2));for(int i=1;i<=sum+1;i++){if(c1[i]==0){cout<break;}}}return 0;
}

 

转载于:https://www.cnblogs.com/nefu929831238/p/6014020.html

更多相关:

  • 给定一个以字符串表示的非负整数 num,移除这个数中的 k 位数字,使得剩下的数字最小。 注意: num 的长度小于 10002 且 ≥ k。 num 不会包含任何前导零。 示例 1 : 输入: num = “1432219”, k = 3 输出: “1219” 解释: 移除掉三个数字 4, 3, 和 2形成一个新的最小的数...

  • 代码展示:   http://paste.ubuntu.com/23693598/ #include #include #include char * largeDiffer(char *a,char *b){ /*  使用说明 传入的a和b只能为整数 结果为a-b;返回...

  • /*Name: NYOJ--811--变态最大值Author: shen_渊 Date: 17/04/17 15:49Description: 看到博客上这道题浏览量最高,原来的代码就看不下去了 o(╯□╰)o */#include #include #include u...

  • 生成唯一号:思路,根据yymmddhhmmss+自增长号+唯一服务器号( SystemNo)生成唯一码,总长度19,例如:1509281204550000101. public class UniqueNumber {     private static long num = 0;//流水号     private sta...

  •         Apache POI是一个开源的利用Java读写Excel,WORD等微软OLE2组件文档的项目。        我的需求是对Excel的数据进行导入或将数据以Excel的形式导出。先上简单的测试代码:package com.xing.studyTest.poi;import java.io.FileInputSt...

  • 要取得[a,b)的随机整数,使用(rand() % (b-a))+ a; 要取得[a,b]的随机整数,使用(rand() % (b-a+1))+ a; 要取得(a,b]的随机整数,使用(rand() % (b-a))+ a + 1; 通用公式:a + rand() % n;其中的a是起始值,n是整数的范围。 要取得a到b之间的...

  • 利用本征图像分解(Intrinsic Image Decomposition)算法,将图像分解为shading(illumination) image 和 reflectance(albedo) image,计算图像的reflectance image。 Reflectance Image 是指在变化的光照条件下能够维持不变的图像部分...

  • 题目:面试题39. 数组中出现次数超过一半的数字 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 示例 1: 输入: [1, 2, 3, 2, 2, 2, 5, 4, 2] 输出: 2 限制: 1 <= 数组长度 <= 50000 解题: cl...

  • 题目:二叉搜索树的后序遍历序列 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回 true,否则返回 false。假设输入的数组的任意两个数字都互不相同。 参考以下这颗二叉搜索树:      5     /    2   6   /  1   3示例 1: 输入: [1,6,3,2,5] 输出...