比赛 |
Asm.Def战记之圣地亚哥“杯2015 |
评测结果 |
AAAAAAATTT |
题目名称 |
Asm.Def的枪榴弹 |
最终得分 |
70 |
用户昵称 |
asddddd |
运行时间 |
3.896 s |
代码语言 |
C++ |
内存使用 |
0.31 MiB |
提交时间 |
2015-10-31 09:26:21 |
显示代码纯文本
//
// main.cpp
// asm_grenade
//
// Created by apple on 15/10/31.
// Copyright (c) 2015年 刘泽群. All rights reserved.
//
#include <iostream>
#include <cstdio>
#include <vector>
#define maxn 15
using namespace std;
int ai[maxn],bi[maxn],ci[maxn],di[maxn],ei[maxn];
struct room{
int a,b,c,d,e;
};
vector<room>hh;
int maxx=0;
void DFS(int c,int jia,int yi,int bing){
if (jia+yi+bing>maxx) {
maxx=jia+yi+bing;
}
for (int i=0; i<hh.size(); i++) {
if (!((c>>i)&1)) {
room &e=hh[i];
int k=jia-e.a;
int temp=bing;
if (k<0) {
temp+=k;
}
int s=yi-e.b;
if (s<0) {
temp+=s;
}
if (temp>=0) {
DFS((c|(1<<i)), max(0,max(k,0)+e.c), max(0,max(s, 0)+e.d), temp+e.e);
}
}
}
}
int main() {
freopen("asm_grenade.in","r",stdin);
freopen("asm_grenade.out","w",stdout);
ios::sync_with_stdio(0);
int n;
cin>>n;
for (int i=0; i<n; i++) {
cin>>ai[i];
}
for (int i=0; i<n; i++) {
cin>>bi[i];
}
for (int i=0; i<n; i++) {
cin>>ci[i];
}
for (int i=0; i<n; i++) {
cin>>di[i];
}
for (int i=0; i<n; i++) {
cin>>ei[i];
}
for (int i=0; i<n; i++) {
hh.push_back((room){ai[i],bi[i],ci[i],di[i],ei[i]});
}
int tea,teb,tec;
cin>>tea>>teb>>tec;
DFS(1<<(n+1), tea, teb, tec);
cout<<maxx;
}