hdu 2660 简单 dfs
2012-11-07 17:51
363 查看
#include<stdio.h> int t,n,k,weight,Max,vis[22]; struct node { int p,w; } p[22]; void dfs(int wei,int val,int indx,int sum) { if(sum==k||wei==weight) { if(Max<val) { Max=val; } return ; } for(int i=indx; i<=n; i++) { if(!vis[i]&&sum+1<=k&&wei+p[i].w<=weight) { vis[i]=1; dfs(wei+p[i].w,val+p[i].p,i+1,sum+1); vis[i]=0; } } return ; } int main() { scanf("%d",&t); int i,j; while(t--) { scanf( "%d%d",&n,&k ); for(i=1; i<=n; i++) { scanf("%d%d",&p[i].p,&p[i].w); vis[i]=0; } scanf("%d",&weight); Max=0; dfs(0,0,0,0); printf("%d\n",Max); } return 0; }
相关文章推荐
- hdu 2660 Accepted Necklace(简单DFS)
- HDU 1728逃离迷宫(简单dfs)
- HDU(1312)Red and Black(简单dfs)
- HDU 1312Red and Black(简单搜索 bfs或dfs)
- HDU 1010题解这是一道简单的DFS加回溯题,看懂后就会对递归和回溯有较深刻的理解。
- hdu 2660 Accepted Necklace dp / dfs
- hdu 1241 Oil Deposits 简单dfs
- hdu 1010 Tempter of the Bone 简单带回溯的dfs+奇偶剪枝
- HDU 2660 Accepted Necklace DFS || 多重背包
- HDU 5305 Friends(简单DFS)
- 解题报告:HDU_4016 Magic Bitwise And Operation 简单dfs
- HDU 1016 超简单DFS
- hdu 1274 展开字符串 (简单dfs)
- HDU 2553 N皇后问题 DFS 简单题
- hdu 2212 dfs 简单的思维问题
- 杭电 HDU 1312 Red and Black(超级简单dfs)
- HDU--1312 -- Red and Black [简单DFS]
- hdu 1312 Red and Black (简单dfs)
- hdu 2660 Accepted Necklace(01-背包变形 || DFS)
- HDU 2616 Kill the monster(简单DFS)