九度-题目1072:有多少不同的面值组合?

Posted 悟空的爸爸

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了九度-题目1072:有多少不同的面值组合?相关的知识,希望对你有一定的参考价值。

http://ac.jobdu.com/problem.php?pid=1072

题目描述:

某人有8角的邮票5张,1元的邮票4张,1元8角的邮票6张,用这些邮票中的一张或若干张可以得到多少种不同的邮资?

输入:

题目没有任何输入

输出:

按题目的要求输出可以得到的不同邮资的数目

样例输入:

样例输出:

来源:
2002年清华大学计算机研究生机试真题(第I套)
类似于Hash,所有的数字相加为188.定义一个大小大于188的整型数组。将组合得到的各种邮资结果对应数组中的位置的值设置为不为0。最后找到所有不为0的个数。
#include <stdio.h>
#include <string.h>

using namespace std;
const int N=201;

int main()
{
    int money[N];
    memset(money,0,sizeof(money));
    int cnt=0;
    for(int i=0; i<=5; i++)
    {
        for(int j=0; j<=4; j++)
        {
            for(int k=0; k<=6; k++)
            {
                int tmp=8*i+10*j+18*k;
                if(tmp==0) continue;
                else{
                    money[tmp]++;
                }
            }
        }
    }

    int count=0;
    for(int i=0; i<=200; i++)
    {
        if(money[i]!=0)
            count++;
    }

    printf("%d\n", count);
    return 0;
}

 

  

以上是关于九度-题目1072:有多少不同的面值组合?的主要内容,如果未能解决你的问题,请参考以下文章

p1658 购物

九度oj 题目1465:最简真分数

邮票组合

动态规划货币面值

BZOJ 1072: [SCOI2007]排列perm [DP 状压 排列组合]

设有各不同面值人民币若干,编写一个java程序,对任意输入的一个金额,给出能组合出这个值的最佳可能