比赛 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()
	}
	**************************************************/