HDU3448 Bag Problem 01思想+搜索
来源:互联网 发布:总决赛第七场数据 编辑:程序博客网 时间:2024/05/02 13:19
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3448
题目大意:
Problem Description
0/1 bag problem should sound familiar to everybody. Every earth man knows it well. Here is a mutant: given the capacity of a bag, that is to say, the number of goods the bag can carry (has nothing to do with the volume of the goods), and the weight it can carry. Given the weight of all goods, write a program that can output, under the limit in the above statements, the highest weight.
Input
Input will consist of multiple test cases The first line will contain two integers n (n<=40) and m, indicating the number of goods and the weight it can carry. Then follows a number k, indicating the number of goods, k <=40. Then k line follows, indicating the weight of each goods The parameters that haven’t been mentioned specifically fall into the range of 1 to 1000000000.
Output
For each test case, you should output a single number indicating the highest weight that can be put in the bag.
Sample Input
5 10088 64 17 23 91 32 17 125 10399 99 99
Sample Output
990
参考代码:
#include<iostream>using namespace std;#include<algorithm>#include<stdio.h>int Max;int n,m,k;int visited[50];int a[50];bool cmp(int a,int b){return a<b;}void DFS(int s,int N,int M){if(s>=k||N>n)return;if(Max<M)Max=M;for(int i=s+1;i<k;i++){if(visited[i]==0){if(M+a[i]>m)continue;visited[i]=1;DFS(i,N+1,M+a[i]);visited[i]=0;}}}int main(){while(cin>>n>>m){cin>>k;int i;for(i=0;i<k;i++){scanf("%I64d",&a[i]);visited[i]=0;}sort(a,a+k,cmp);__int64 r=0;for(i=k-1;i>k-1-n;i--){r+=a[i];}if(r<=m){printf("%I64d\n",r);}else{Max=0;DFS(-1,0,0);cout<<Max<<endl;}}return 0;}
- HDU3448 Bag Problem 01思想+搜索
- HDU3448 Bag Problem 01思想+深搜
- hdu3448 Bag Problem 背包搜索技巧
- hdu 3448(搜索+剪枝)Bag Problem
- Bag Problem
- HDU 3448 Bag Problem
- HDU 3448 Bag Problem 暴力枚举,DFS(maybe)
- 搜索+离散化思想
- 小搜索思想
- HDU4474(搜索思想)
- hdu3448(dfs解二维背包)
- 记忆化搜索(搜索+dp思想)
- 广度优先搜索的思想
- IconManageBox软件:搜索查询思想
- BFS宽度优先搜索思想
- BFS宽度优先搜索思想
- 二分搜索法基本思想
- 深度优先搜索思想入门!
- 局部最小点
- pbo ,经典外文解说http://www.songho.ca/opengl/gl_pbo.html#overview
- Android近场通信---NFC基础(三)
- C#扩展..
- IPV6概述(1)
- HDU3448 Bag Problem 01思想+搜索
- 工作了
- struts 页面取值
- iOS5 Library NSString - 创建与初始化strings
- 排序算法之归并排序法
- Windows Phone 8开发历程——Windows Phone简介
- html和js一点整理(4)
- Hdu 1071 - The area
- zzuli 1356 分解质因子