比赛 |
Asm.Def战记之圣地亚哥“杯2015 |
评测结果 |
WWWWWWWWWW |
题目名称 |
Asm.Def的枪榴弹 |
最终得分 |
0 |
用户昵称 |
Tabing010102 |
运行时间 |
0.005 s |
代码语言 |
C++ |
内存使用 |
0.31 MiB |
提交时间 |
2015-10-31 11:47:25 |
显示代码纯文本
#include<iostream>
#include<fstream>
using namespace std;
int enter(int,int,int,int,int,int,int,int);
//bool judge(int,int,int,int,int,int,int,int);
struct m_data
{
int a_num;
int b_num;
int anti_a_buji_num;
int anti_b_buji_num;
int anti_all_buji_num;
};
static int anti_a_num,anti_b_num,anti_all_num,n;
ifstream fin("asm_grenade.in");
ofstream fout("asm_grenade.out");
int main()
{
fin>>n;
m_data data[n];
for(int i=0;i<n;i++) fin>>data[i].a_num;
for(int i=0;i<n;i++) fin>>data[i].b_num;
for(int i=0;i<n;i++) fin>>data[i].anti_a_buji_num;
for(int i=0;i<n;i++) fin>>data[i].anti_b_buji_num;
for(int i=0;i<n;i++) fin>>data[i].anti_all_buji_num;
fin>>anti_a_num>>anti_b_num>>anti_all_num;
// bool enter[n];
// for(int i=0;i<n;i++) enter[i]=judge(anti_a_num,anti_b_num,anti_all_num,data[i].a_num,data[i].b_num,data[i].anti_a_buji_num,data[i].anti_b_buji_num,data[i].anti_all_buji_num);
/*******************
switch(n)
{
case 0:
fout<<anti_a_num+anti_b_num+anti_all_num;
break;
case 1:
int result[2];
result[0]=anti_a_num+anti_b_num+anti_all_num;
result[1]=enter()
}
***********************/
int result[10000];
for(int i=0;i<n;i++) result[i]=enter(anti_a_num,anti_b_num,anti_all_num,data[i].a_num,data[i].b_num,data[i].anti_a_buji_num,data[i].anti_b_buji_num,data[i].anti_all_buji_num);
int temp;
for(int i=0;i<n-1;i++)//排序
{
for(int j=i+1;j<n;j++)
{
if(result[i]<result[j])
{
temp=result[i];
result[i]=result[j];
result[j]=temp;
}
}
}
fout<<result[0]<<endl<<result[9999];
return 0;
}
int enter(int t_anti_a_num,
int t_anti_b_num,
int t_anti_all_num,
int t_a_num,
int t_b_num,
int t_anti_a_buji_num,
int t_anti_b_buji_num,
int t_anti_all_buji_num)
{
if(t_anti_a_num+t_anti_b_num+t_anti_all_num>=t_a_num+t_b_num)//可以消灭
{
if(t_anti_a_num<=t_a_num)
{
t_anti_a_num=0;
t_anti_all_num-=(t_a_num-t_anti_a_num);
if(t_anti_b_num<=t_b_num)
{
t_anti_b_num=0;
t_anti_all_num-=(t_b_num-t_anti_b_num);
}
else
{
t_anti_b_num-=t_b_num;
}
}
else
{
t_anti_a_num-=t_a_num;
if(t_anti_b_num<=t_b_num)
{
t_anti_b_num=0;
t_anti_all_num-=(t_b_num-t_anti_b_num);
}
else
{
t_anti_b_num-=t_b_num;
}
}
}
else//不能消灭
{
if(t_anti_a_num+t_anti_all_num<=t_a_num)
{
t_anti_a_num=0;
t_anti_all_num=0;
if(t_anti_b_num<=t_b_num)
{
t_anti_b_num=0;
}
else
{
t_anti_b_num-=t_b_num;
}
}
else
{
t_anti_b_num=0;
if(t_anti_a_num>=t_a_num)
{
t_anti_a_num-=t_a_num;
}
else
{
t_anti_a_num=0;
t_anti_all_num-=(t_a_num-t_anti_a_num);
}
}
}
return (t_anti_a_num+t_anti_b_num+t_anti_all_num);
}
//bool judge(int t_anti_a_num,
// int t_anti_b_num,
// int t_anti_all_num,
// int t_a_num,
// int t_b_num,
// int t_anti_a_buji_num,
// int t_anti_b_buji_num,
// int t_anti_all_buji_num)
//{
// if(t_anti_a_num+t_anti_all_num<t_a_num ||//弹药不足以消灭敌人
// t_anti_b_num+t_anti_all_num<t_b_num)
// return false;
// if(t_anti_a_buji_num +//补给少于等于消耗
// t_anti_b_buji_num +
// t_anti_all_buji_num <
// t_a_num+t_b_num)
// return false;
// else return true;
//}
/***********************************************
if(t_anti_a_num+t_anti_all_num<t_a_num) //弹药不足以消灭敌人
{
t_anti_a_num=0;
t_anti_all_num=0;
}
else if(t_anti_b_num+t_anti_all_num<t_b_num)
{
t_anti_b_num=0;
t_anti_all_num=0;
}
else
{
if()
}
**************************************************/