| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 787 人关注过本帖
标题:求背包问题的思路!
只看楼主 加入收藏
雪山的猫
Rank: 1
等 级:新手上路
帖 子:44
专家分:5
注 册:2012-12-23
结帖率:95.24%
收藏
已结贴  问题点数:6 回复次数:7 
求背包问题的思路!
设有一个背包可以放入的物品重量为S,现有n件物品,重量分别是w1,w2,w3,…wn。
问能否从这n件物品中选择若干件放入背包中,使得放入的重量之和正好为S。
input
20 5
1 3 5 7 9
Sample Output
YES
程序代码:
#include"iostream"
using namespace std;
int a[1000];
int f(int x,int y)
{
    if(x==0)
    return 1;
    if(x<0||(x>0&&y<1))
    return 0;
    if(f(x-a[y],y-1))
    return 1;
    return f(x,y-1);
}
int main()
{
    int i,s,n;
    while(cin>>s>>n)
    {
        for(i=1;i<=n;i++)
        {
            cin>>a[i];
        }
        if(f(s,n))
        cout<<"YES"<<endl;
        else
        cout<<"NO"<<endl;
    }
    return 0;
}
首先我是想问大家思路的,我真的想不出来了,循环式没法了。但求到了段代码有 看不懂。所以大家要么讲下代码或给个思路。。!!!
搜索更多相关主题的帖子: 背包 物品 color 
2013-05-20 20:47
我叫沃恩
Rank: 12Rank: 12Rank: 12
来 自:Asia
等 级:贵宾
威 望:10
帖 子:1234
专家分:3865
注 册:2013-3-29
收藏
得分:0 
int f(int x, int y) 自定义函数运用了递归思想!
#include"iostream"是输入输出头文件
cin>>"要输入的内容"
cout>>"要输出的内容"
自定义函数f(int x, int y)应该能看懂吧!

因为我是菜鸟,所以应该被骂! 细节+坚持=成功!
2013-05-20 21:43
邓士林
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:淮河河畔
等 级:贵宾
威 望:61
帖 子:2392
专家分:13384
注 册:2013-3-3
收藏
得分:0 
数据结构也可以解决这个问题

Maybe
2013-05-20 21:48
雪山的猫
Rank: 1
等 级:新手上路
帖 子:44
专家分:5
注 册:2012-12-23
收藏
得分:0 
回复 2楼 我叫沃恩
唉!!我就是调用那看不懂哟!他的递归我看着吃力。首先后面俩个return就不懂了。还有就是他的递归真的能遍历完数组??用循环应该不行吧!!
2013-05-20 22:21
czz5242199
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:660
专家分:2400
注 册:2011-10-26
收藏
得分:6 
搜“背包九讲”看看,神讲解
2013-05-21 00:38
雪山的猫
Rank: 1
等 级:新手上路
帖 子:44
专家分:5
注 册:2012-12-23
收藏
得分:0 
饿!!百度的背包九讲,有点。。。。没代码在一起还真不好理解哟!!就没有讲代码的? 呜呜呜呜呜呜!!!求助。
2013-05-21 20:17
雪山的猫
Rank: 1
等 级:新手上路
帖 子:44
专家分:5
注 册:2012-12-23
收藏
得分:0 
回复 3楼 邓士林
结构体??关键是循环的遍历我无法想出。。
2013-05-21 20:18
雪山的猫
Rank: 1
等 级:新手上路
帖 子:44
专家分:5
注 册:2012-12-23
收藏
得分:0 
回复 5楼 czz5242199
哟!!按你给的关键字终于百度到了,有人如果要探究的话我给个网址,做做好人:http://wenku.baidu.com/view/3aa0c534ee06eff9aef8076c.html
2013-05-21 20:21
快速回复:求背包问题的思路!
数据加载中...
 
   



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

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