zoukankan      html  css  js  c++  java
  • 邮票问题

    邮票问题

    Description

    设有已知面额的邮票m种,每种有n张,用总数不超过n张的邮票,能从面额1开始,最多连续组成多少面额。(1≤m≤100,1≤n≤100,1≤邮票面额≤255)

    Input

    第一行:m,n的值,中间用一空格隔开。

    第二行:A[1..m](面额),每个数中间用一空格隔开。

    Output

    连续面额数的最大值

    Sample Input

    3  4
    1  2  4
    

    Sample Output

    14

    感觉和去年提高组第一题有些相似之处,虽然做法不同但说的都是同一件事。所以就把这个小问题解决掉。
    说是递推,其实有点像最简单的动归。写出来很简单,但自己想的话不知道为什么总是不知道如何下手..
     1 #include <iostream>
     2 #include <cmath>
     3 #include <cstring>
     4 #include <cstdio>
     5 #include <cstdlib>
     6 #include <algorithm>
     7 using namespace std;
     8 int a[105],s[25600];
     9 int main()
    10 {
    11     int n,m;
    12     scanf("%d%d",&n,&m);
    13     for(int i=1;i<=n;i++) scanf("%d",&a[i]);
    14     sort(a+1,a+n+1);
    15     if(a[1]!=1) printf("0");
    16     else
    17     {
    18         s[1]=1;
    19         for(int i=2;;i++)
    20         {
    21             for(int j=1;j<=n && a[j]<=i;j++)
    22             {
    23                 if(s[i]==0 || s[i]>s[i-a[j]]+1) s[i]=s[i-a[j]]+1;
    24             }
    25             if(s[i]>m) {printf("%d",i-1);break;}
    26         }
    27     }
    28     return 0;
    29 }
    2-4-O
    
    
    
     
  • 相关阅读:
    SQL字段排序
    delphi MessageBox 用法
    delphi获取当前计算机所有盘符
    PHP限制IP
    delphi 显示数据
    GUI模块分解与开发征集
    delphi 用户登录 代码
    Hello China GUI模块鼠标指针的实现
    DELPHI 托盘 实例
    delphi 内存流 操作
  • 原文地址:https://www.cnblogs.com/YXY-1211/p/8384958.html
Copyright © 2011-2022 走看看