| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2035 人关注过本帖
标题:邮票问题~不要求代码 ~给算法的思想就行
只看楼主 加入收藏
r3215407
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2008-9-17
结帖率:100%
收藏
 问题点数:0 回复次数:5 
邮票问题~不要求代码 ~给算法的思想就行
给定一个信封,最多只允许贴N(N<=100)张邮票,现在我们有m(m<=100)中邮票,面值分别为:x1,x2,......,xm分,(xi<=255,为正整数),并假设各种邮票都有足够多张。
要求计算所能获得邮资的最大范围。即求最大值MAX,使在1---MAX之间的每一种邮资都能得到。
例如:N=4,有2中邮票,面值分别为1分,4分,于是可以得到1-10分和12分,13分,16分邮资,由于得不到11和15分,所以MAX=10;
输入格式:
从文本stamp.in中读入数据,第一行为最多粘贴的邮票数N;第二行为邮票种数m;以后m行个有一个数字,表示邮票的面值xi。
输出格式:
1)若最大值为空,则在屏幕上输出MAX=0;
2)若最范围不为空,则把结果输出到屏幕上。
例如:
输入
4
2
1
4
输出:
MAX=10;
测试数据:
10
5
2
4
6
8
10
结果:MAX=0;
邮票问题~不要求代码 ~给算法的思想就行
搜索更多相关主题的帖子: 邮票 算法 思想 代码 
2008-10-26 13:03
multiple1902
Rank: 8Rank: 8
等 级:贵宾
威 望:42
帖 子:4881
专家分:671
注 册:2007-2-9
收藏
得分:0 
貌似有状态转移方程……

f[i]=max{f[i-w[j]]}
w[j]为所有邮票面额
2008-10-26 13:18
r3215407
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2008-9-17
收藏
得分:0 
我原来也是这样想的 但是 好像不行
2008-10-26 13:22
Eastsun
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:32
帖 子:802
专家分:0
注 册:2006-12-14
收藏
得分:0 
GCC下编译通过
程序代码:
#include<iostream>
#include<cstdlib>

using namespace std;

int main(){
    int size,num;
    int val[100],cnt[25501];
    memset(cnt,0,sizeof(cnt));
    cin>>size>>num;
    for(int i=0;i<num;i++) cin>>val[i];
    int s = 0;
    do{
        s ++;
        for(int i=0;i<num;i++){
            if(s-val[i]<0) continue;
            if(cnt[s]==0||cnt[s]>cnt[s-val[i]]){
                cnt[s] = cnt[s-val[i]] + 1;
            }
        }
    }while(cnt[s]!=0&&cnt[s]<=size);
    cout<<s-1<<endl;
}

其中cnt[s] 表示总面值为s最少需要多少张邮票

[[it] 本帖最后由 Eastsun 于 2008-10-26 19:42 编辑 [/it]]

My BlogClick Me
2008-10-26 19:41
multiple1902
Rank: 8Rank: 8
等 级:贵宾
威 望:42
帖 子:4881
专家分:671
注 册:2007-2-9
收藏
得分:0 
这种题裸搜肯定要超,所以用动规的思路。
2008-10-26 20:12
r3215407
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2008-9-17
收藏
得分:0 
谢谢
2008-10-26 22:59
快速回复:邮票问题~不要求代码 ~给算法的思想就行
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015362 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved