poj 3628

 1#include <iostream>
 2#include <algorithm>
 3#define MAXN_COWS 25
 4#define MAX_NUM 123456789
 5using namespace std;
 6
 7int _m[MAXN_COWS];
 8int _min;
 9int num_cows;
10int len_bookshelf;
11void dfs(int time,int sum);
12int main()
13{
14    freopen("acm.acm","r",stdin);
15    int i;
16    _min = MAX_NUM;
17    cin>>num_cows;
18    cin>>len_bookshelf;
19    for(i = 0; i < num_cows; ++ i)
20    {
21        cin>>_m[i];
22    }

23    dfs(0,0);
24    cout<<_min - len_bookshelf<<endl;
25}

26
27void dfs(int time,int sum)
28{
29    if(time == num_cows)
30    {
31        if(sum < len_bookshelf)
32        {
33            return;
34        }

35        else
36        {
37            if(sum < _min)
38            {
39                _min = sum;
40            }

41            return;
42        }

43    }

44
45    sum += _m[time];
46    dfs(time+1,sum);
47    sum -= _m[time];
48    dfs(time+1,sum);
49    return;
50}

posted on 2010-08-06 09:37 成大才子 阅读(307) 评论(0)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2010年8月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
2930311234

导航

统计

公告

关于更多关于成大才子,请访问http://hi.baidu.com/成大才子

常用链接

留言簿(1)

随笔档案

文章分类

文章档案

链接

搜索

最新评论

阅读排行榜

评论排行榜