01背包(变态的深搜版)

来源:互联网 发布:补血产品网络推广 编辑:程序博客网 时间:2024/05/22 03:13
#include<stdio.h>int n,v[1001],w[501],ww,max;void dfs(int u,int www,int vvv){if (u==n+1) {if (max<vvv) max=vvv;return ;}if (www+w[u]<=ww) dfs(u+1,www+w[u],vvv+v[u]);dfs(u+1,www,vvv);}int main(){int i;scanf("%d%d",&ww,&n);for (i=1;i<=n;i++) scanf("%d%d",&w[i],&v[i]);dfs(1,0,0);printf("%d\n",max);return 0;}

1 0