回溯法求解0-1背包问题
2012-04-01 20:57
357 查看
题目如下:
使用回溯方法,求解0-1背包问题: n=5 , C=10, p=[9,10,7,4,3],w=[3,5,2,1,4]
使用回溯方法,求解0-1背包问题: n=5 , C=10, p=[9,10,7,4,3],w=[3,5,2,1,4]
#include <stdio.h> int w[5]={3,5,2,1,4}; int v[5]={9,10,7,4,3}; int best=0; int temp=0; int a[5]={0}; int b[5]={0}; int wt=0; int n=5; int c=10; void fun(int i) { if(i>=n) { if(temp>best) { for(int j=0;j<n;j++) b[j]=a[j]; best=temp; } } else { if(wt+w[i]<=c) { a[i]=1; wt+=w[i]; temp+=v[i]; fun(i+1); wt-=w[i]; temp-=v[i]; } a[i]=0; fun(i+1); } } void main() { fun(0); for(int i=0;i<n;i++) printf("%d ",b[i]); printf("\n%d\n",best); }
相关文章推荐
- 01背包问题(用c语言实现)-回溯法求解
- 0-1背包问题简单实例(回溯法求解…
- 0/1背包问题-----回溯法求解
- 回溯法求解背包个数问题
- 动态规划在求解背包问题中的应用(JAVA)--回溯法、记忆化法
- 用回溯法求解0/1背包问题
- 回溯法-求解装载问题(类似0-1背包)
- 贪心法和回溯法 求解“背包、0/1背包问题”——Java 实现
- 0-1背包问题求解归纳(动态规划法,贪心算法,回溯法,分治法和分支界限法)__更新到完整
- 回溯法求解n皇后问题
- 算法导论-----------------0-1背包问题dp求解
- 0-1背包问题(回溯法)
- 遗传算法求解背包问题
- python 回溯法 子集树模板 系列 —— 3、0-1背包问题
- 回溯法求解N皇后问题
- 用回溯法解决0-1背包问题
- 0-1背包问题蛮力法求解(c++版本)
- 回溯法解决0-1背包问题
- 0-1背包问题及其动态规划求解之二——王晓东的书本解法
- 迷宫问题(MazePath)的求解——利用回溯法(backtracking)