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

编了一下午 都是wa。。前面给的所有数据都测试过了 没有错误,是在找不到原因了,希望大牛们解释下。。。感激不尽啊。。。。

Posted by shanyangyang at 2011-11-27 10:52:17 on Problem 1042
#include<stdio.h>
#include<stdlib.h>
#include<iostream>
#define PT 256
using namespace std;


int getShu(int lake[],int n)
{
	int max=0;
	for(int i=1;i<n;i++)
	{
		if(lake[i]>lake[max])
			max=i;
		
	}
	return max;
}

int findMax(int n,int h,int Line[],int lake1[],int dec1[])
{
	int lake[PT],dec[PT];
	for(int i=0;i<n;++i)
	{
		lake[i]=lake1[i];
		dec[i]=dec1[i];
		Line[i]=0;
	}
	Line[n-1]=1;
	int max=0;
	max+=lake[n-1];
	lake[n-1]-=dec[n-1];
	if(lake[n-1]<0)
		lake[n-1]=0;
	for(int i=0;i<h-1;++i)
	{
		int j=getShu(lake,n);
		max+=lake[j];
		Line[j]++;
		lake[j]-=dec[j];
		if(lake[j]<0)
			lake[j]=0;
	}
	return max;

}

int Line[PT];
int p[PT];
int lake1[PT],dec1[PT],road[PT];
int main()
     {
           int n,h;
           int max=-1;
		   
		   while(1)
		   {
			   for(int i=0;i<PT;i++)
				   p[i]=0;
           cin>>n;
		   if(n==0)
			   break;
		   cin>>h;
           for(int i=0;i<n;++i)
            cin>>lake1[i];
           for(int i=0;i<n;++i)
           cin>>dec1[i];
           road[0]=0;
			for(int i=0;i<PT;i++)
				   Line[i]=0;
           for(int i=1;i<n;++i)
           {
             cin>>road[i];
             road[0]+=road[i];                              
           }
           h=12*h-road[0];
			road[n]=0;
			for(int i=0;i<n;++i)
           { 
			   h=h+road[n-i];
			   if(h<=0)
				   continue;
			   if(findMax( n-i, h, Line,lake1,dec1)>=max)
			   {
				   max=findMax( n-i, h, Line,lake1,dec1);
			   for(int j=0;j<n;j++)
			   {
				   p[j]=Line[j]*5;
			   }
			   for(int k=0;k<PT;k++)
				   Line[k]=0;
			   }	
			}

			for(int i=0;i<n-1;++i)
			{
				cout<<p[i]<<','<<' ';
			}
			cout<<p[n-1]<<endl;
			cout<<"Number of fish expected: "<<max<<endl;
			cout<<endl;
			max=0;
		   }
		   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