比赛 |
Asm.Def战记之圣地亚哥“杯2015 |
评测结果 |
WWWWWWTTTT |
题目名称 |
Asm.Def的枪榴弹 |
最终得分 |
0 |
用户昵称 |
momo123 |
运行时间 |
4.130 s |
代码语言 |
C++ |
内存使用 |
0.31 MiB |
提交时间 |
2015-10-31 11:56:17 |
显示代码纯文本
#include<cstring>
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<algorithm>
#include<cmath>
#include<vector>
#include<queue>
using namespace std;
int n,maxx,k0,k1,k2;
int sum[20],a[20],b[20],c[20],d[20],e[20];
bool v[20];
int aa,bb,cc,dd,ee;
void dfs(int t,int setp)
{
for(int j=1;j<=n;j++)
{
int xx=k0-a[j],yy=k1-b[j];
int xxx,yyy;
if(xx<0)xxx=-xx;
if(yy<0)yyy=-yy;
if(((xx>=0&&yy>=0)||k2>=xxx+yyy)&&!v[j])
{
k0=k0+c[j]-a[j];k1=k1+d[j]-b[j];k2=k2+e[j]-xxx-yyy;
v[j]=1;
int sum=k0+k1+k2;
maxx=max(maxx,sum);
dfs(j,setp+1);
setp--;
v[j]=0;
k0=k0-c[j]+a[j];k1=k1-d[j]+b[j];k2=k2-e[j]+xxx+yyy;
}
}
}
int main()
{
freopen("asm_grenade.in","r",stdin);
freopen("asm_grenade.out","w",stdout);
cin>>n;
for(int i=1;i<=n;i++) cin>>a[i];
for(int i=1;i<=n;i++) cin>>b[i];
for(int i=1;i<=n;i++) cin>>c[i];
for(int i=1;i<=n;i++) cin>>d[i];
for(int i=1;i<=n;i++) cin>>e[i];
cin>>k0>>k1>>k2;
maxx=k0+k1+k2;
for(int i=1;i<=n;i++)
{
memset(v,0,sizeof(v));
int xx=k0-a[i],yy=k1-b[i];
int xxx,yyy;
if(xx<0)xxx=-xx;
if(yy<0)yyy=-yy;
if(((xx>=0&&yy>=0)||k2>=xxx+yyy)&&!v[i])
{
k0+=c[i]-a[i];k1+=d[i]-b[i];k2+=e[i]-xxx-yyy;
int sum=k0+k1+k2;
maxx=max(maxx,sum);
dfs(i,1);
}
}
cout<<maxx;
}