###### TOJ 4108 Hearthstone

Use 0-1 backpack algorithm can solve this problem . But I use DFS.

I misunderstanding the problem's meaning.My algorithm is Wrong.But the test data is so weak that I can pass this problem.

The portal:4108. Hearthstone 4108. Hearthstone

#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <cstring>

int monsters[20];
int magic[105];
int N,M,A,B,min_sum;

void DFS(int depth,int sum){
if(depth>N)return ;
if(sum >= B){
if(sum < min_sum){
min_sum = sum;
}
return ;
}
DFS(depth+1,sum+monsters[depth]);
DFS(depth+1,sum);
}

void Find_Mincost(int value){
min_sum = 10000000;
DFS(0,0);
//printf("%d\n",min_sum);
}

void Deal_with(){
int T;
scanf("%d",&T);
while(T--){
scanf("%d %d %d %d",&N,&M,&A,&B);
int sum_monsters = 0;
for(int i=0;i<N;i++){
scanf("%d",monsters+i);
sum_monsters += monsters[i];
}
int sum_magic = 0;
for(int i=0;i<M;i++){
scanf("%d",magic+i);
sum_magic += magic[i];
}
Find_Mincost(B);
if(min_sum == 10000000)min_sum = sum_monsters;
int ans = sum_monsters - min_sum + sum_magic;
//printf("%d",min_sum);
if(ans < A){
}
else {
puts("wellplay");
}
}
}

int main(void){
freopen("a.in","r",stdin);
Deal_with();
return 0;
}

#### toj 4108 Hearthstone

2015-04-12 08:37:12

#### [TOJ 4108] Hearthstone

2015-07-15 11:02:29

#### HDU5816（2016多校第七场）——Hearthstone（暴力枚举，状态压缩）

2016-08-10 13:32:08

#### [ACM] SDUT 2883 Hearthstone II （第二类Stiring数）

2014-11-07 20:44:58

#### TOJ 题目分类

2010-11-03 22:39:00

#### TOJ-ACM

2013-12-16 21:58:37

#### csu1646 HearthStone

2016-04-28 18:29:13

2014-08-19 16:36:23

#### 2014山东省第五届ACM省赛 Hearthstone II

2016-03-28 18:01:24

2013-09-15 18:59:58

## 不良信息举报

TOJ 4108 Hearthstone