Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

1017为什么无法AC 我找了网上的完美代码和我的代码进行了同步的数据测试,所有的都是一样的、为什么我的无法AC啊、求高手帮忙!

Posted by 437973245 at 2012-03-12 20:03:48 and last updated at 2012-03-12 20:07:53
我的代码:
#include <stdio.h>

void main()
{
	int package1_num,package2_num,package3_num;
	int package4_num,package5_num,package6_num;
	int box_num;
	int over1_num,over2_num,over3_num,over4_num,over5_num,over6_num;
	double n;

	while(1)
	{
		scanf("%d%d%d%d%d%d",&package1_num,&package2_num,&package3_num,&package4_num,&package5_num,&package6_num);
		box_num=package6_num+package5_num+package4_num;
		over1_num=package1_num-(package5_num*11);//在装有5*5的包裹中装入1*1的盒子
		if(over1_num<=0)
		{
			over1_num=0;
		}
		if(20*package4_num-4*package2_num>0)
		{
			over2_num=package2_num-(package4_num*5);
			over1_num=over1_num-(20*package4_num-4*package2_num);
			if(over1_num<=0)
			{
				over1_num=0;
			}
			if(over2_num<=0)
			{
				over2_num=0;
			}
		}
		if(20*package4_num-4*package2_num<=0)
		{
			over2_num=package2_num-(package4_num*5);
		}
		if(over2_num<=0)
		{
			over2_num=0;
		}
		if(package3_num>=4)
		{
			if((9*package3_num)%36==0)
			{
				box_num=box_num+(package3_num/4);
				over3_num=0;

			}
			else
			{
				box_num=box_num+(package3_num/4);
				over3_num=((9*package3_num)%36)/9;
				
			}
		}
		else
		{
			over3_num=package3_num;
		} 
		switch (over3_num)
		{
		case 3://当3*3的盒子剩余3个的时候,在这个包裹中继续装入2*2和1*1的盒子
			if(over2_num>=1)
			{
				over2_num=over2_num-1;
				over1_num=over1_num-5;
				over3_num=0;
				box_num=box_num+1;
			}
			if(over2_num==0)
			{
				over1_num=over1_num-9;
				over3_num=0;
				box_num=box_num+1;
			}
			if(over1_num<=0)
			{
				over1_num=0;
			} 
			if(over2_num<=0)
			{
				over2_num=0;
			}

			break;
		case 2:  //当3*3的盒子剩余2个的时候,在这个包裹中继续装入2*2和1*1的盒子
			if(12-4*over2_num>0)
			{
				over1_num=over1_num-(6+(12-4*over2_num));
				over2_num=0;
				over3_num=0;
				box_num++;
			}
			if(12-4*over2_num<=0)
			{
				over1_num=over1_num-6;
				over2_num=over2_num-3;
				over3_num=0;
				box_num++;
			}
			if(over1_num<=0)
			{
				over1_num=0;
			}
			if(over2_num<=0)
			{
				over2_num=0;
			}
			break;
		case 1:  //当3*3的盒子剩余1个的时候,在这个包裹中继续装入2*2和1*1的盒子
			if(20-4*over2_num>0)
			{
				over1_num=over1_num-(7+(20-4*over2_num));
				over2_num=0;
				over3_num=0;
				box_num++;
			}
			else
			{
				over1_num=over1_num-7;
				over2_num=over2_num-5;
				over3_num=0;
				box_num++;
			}
			if(over1_num<=0)
			{
				over1_num=0;
			}
			if(over2_num<=0)
			{
				over2_num=0;
			}
			break;
		}
		if(over2_num>=9)
		{
			if((4*over2_num)%36==0)
			{
				box_num=box_num+(over2_num/9);
				over2_num=0;
			}
			else
			{
				box_num=box_num+(over2_num/9);
				over2_num=((4*over2_num)%36)/4;
				
			}
		}
		if(over1_num>=36)
		{
			if(over1_num%36==0)
			{
				box_num=box_num+(over1_num/36);
				over1_num=0;
			}
			else
			{
				box_num=box_num+(over1_num/36);
				over1_num=over1_num%36;
			

			}
		}
		n=(((over1_num)+(over2_num*4)+over3_num*9))/36.0;
		if(n>1&&n!=0)
		{
			box_num=box_num+2;
		}
		if((n<1&&n!=0)||n==1)
		{
			box_num=box_num+1;
		}
		if(box_num==0)
		{
			printf("");
				break;
		}
		else
		{
			printf("%d\n",box_num);
		}
	}	
}

Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator