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

神啊,救救我吧

Posted by pheonix2012 at 2012-08-16 18:14:48 on Problem 1017
1000组数据都过了,还是WA啊。我是模拟每一种情况的
先是(6,6),(5,5),(4,4)个数总和加起来
(5,5)用(1,1)配;(4,4)用(2,2)和(1,1)配
(3,3)填不满也和(4,4)一样配,再分别考虑缺1,2,3个(3,3)时,如何用(2,2)和(1,1)填
最后考虑(2,2)和(1,1)。而且之前用(2,2),(1,1)填的时候也计算了他们的剩余个数。
为什么还是不对啊!!!!!!!!!!
#include<iostream> 
int j,k,m,sum;
using namespace std;
int main()
{int a,b,c,d,e,f;
while(cin>>a>>b>>c>>d>>e>>f)
	{if(a||b||c||d||e||f)
		{sum=0;
		sum+=f;
        sum+=e;
		sum+=d;
		if(a>(11*e))
			{if(e)
			a=a-(11*e);
			else
		    a=a;}
		else
			a=0;
		if(b>5*d)
		{if(d)
			b=b-(5*d);
		else
			b=b;}
		else
			{
		j=(5*d-b)*4;
		b=0;
		if(a)
			{if(a>j)
				a-=j;
			else
				a=0;}
		else
		a=0;}
		if(c%4)
		{k=(4-c%4)*9;
		c=c/4+1;
		if(b)
			{if(k==27)
				{if(b>5)
					{b-=5;
		             k=7;}
				else
				{k-=b*4;
					b=0;}}
			if(k==18)
			    {if(b>3)
				    {b-=3;
			         k=6;}
				else
				{k-=b*4;
					b=0;}}
			if(k==9)
			    {if(b>1)
				    {b-=1;
			         k=5;}
				else
					{k-=b*4;
						b=0;}}
		if(a>k)
		a-=k;
		else
			a=0;}
		else
		{if(a>(4-c%4)*9)
		a-=(4-c%4)*9;
		else
			a=0;}}
		else
	    c=c/4;
		sum+=c;
		if(b%9)
		{ m=36-(b%9)*4;
			b=b/9+1;
		if(a>m)
			a-=m;
		else
			a=0;}
		else
			b=b/9;
		sum+=b;
		if(a%36)
			a=a/36+1;
		else
			a/=36;
		sum+=a;
		cout<<sum<<endl;}
	else
		break;}
return 0;}

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