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

为什么是RE啊????大牛帮看看哈..

Posted by 20054953 at 2007-08-23 09:50:50 on Problem 1948
#include<algorithm>
#include<math.h>
using namespace std;

int sum=0;

double judge(int a,int b)
{
		
	int c;
	c=sum-a-b;
	if(c<=0)
		return 0;
	if(a>=b+c||b>=a+c||c>=a+b)
		return 0;
	double tt=(double)(a+b+c)/2.0;
	return sqrt((double)tt*(tt-a)*(tt-b)*(tt-c));
}

bool cmp(double a,double b)
{
	return a<b;
}

bool dp[1610][1610]={0};

main()
{
	int n,i,j,k;
	int aa[100];
	
	double max=0.0,tem;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%d",&aa[i]);
		sum+=aa[i];
	}
	dp[0][0]=1;
	for(i=0;i<n;i++)
	{
		for(j=sum;j>=0;j--)
		{
			for(k=(sum-j);k>=0;k--)
			{
				if(dp[j][k-aa[i]]==1&&k>=aa[i])
					dp[j][k]=1;					
				if(dp[j-aa[i]][k]==1&&j>=aa[i])
					dp[j][k]=1;
			}
		}
	}
	for(i=1;i<sum;i++)
	{
		for(j=1;j<sum;j++)
		{
			
			if(dp[i][j]==1)
			{
				tem=judge(i,j);
				if(tem>max)
					max=tem;
			}
		}
	}
	if(max==0.0)
		printf("-1\n");
	else
		printf("%d\n",(int)(max*100));
}

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