/*
description:背包问题的递归解法
输入:
输出:
author: jz
email:zjhua678@163.com
Date: 20140818
*/
#include<stdio.h>
#include<stdlib.h>
#include<stack>
#include<queue>
#include <iostream>
using namespace std;
int w[10]={1,2,3,4,5,6,7,8,9,10};
int knap(int t, int n)
{
if ( t==0)
return 1;
else if (t<0 || t>0 && n<1)
return 0;
else if (knap(t-w[n-1], n-1) == 1)
{
printf ("result:n=%d,w[%d]=%d\n", n, n-1, w[n-1]);
return 1;
}
else
return (knap(t, n-1));
}
void main()
{
printf("背包问题的递归解法\n");
knap(15,10);
printf("\n");
}
背包问题的递归解法
最新推荐文章于 2022-04-29 19:53:22 发布