| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
代码傻长In Reply To:why wa Posted by:tempsq at 2006-03-12 11:34:30 > //pku 1948 Triangular Pastures
> #include<stdio.h>
> #include<stdlib.h>
> #include<math.h>
> bool use[40][1000][1000] = {false};
> int segment[40];
> float half;
> double getarea(int a,int b,int c)
> {
> return (half * (half - a) * (half - b )* (half -c));
> }
> main()
> {
> int sum = 0;
> int n;
> int i,j,k;
> int third;
> int min = 100;
> scanf("%d",&n);
> for(i = 0 ; i < n ; i++)
> {
> scanf("%d",&segment[i]);
> sum += segment[i];
> // if(min > segment[i]) min = segment[i];
> }
> half = float(sum/2.0) ;
> use[0][segment[0]][0] = true;
> use[0][0][segment[0]] = true;
> int flag ;
> for(k = 1 ; k< n ; k++)
> {
> flag = 0;
> // printf("------------------------------------\n");
> // printf("%d \n",k);
> for(i = 0; i<= half; i++)
> {
> for(j = 0; j<=half; j++)
> {
> if(use[k-1][i][j])
> {
> flag = 1;
> use[k][i][j] = true;
> if(i+segment[k]<=half)
> use[k][i+segment[k]][j] = true;
> if(j+segment[k]<=half)
> use[k][i][j+segment[k]] = true;
> // printf("%d ,%d : %d %d\n",i+segment[k],j,i,j+segment[k]);
> }
> }
> }
> // if(flag == 0)
> // flag = 0;
> }
> double max = -1;
> double area;
> for(i = 0 ; i<=half; i++)
> {
> for(j = 0 ; j<=half ; j++)
> {
> if(use[n-1][i][j])
> {
> third = sum - i - j;
> if(third >=i+j )
> continue;
> if(i>=j+third)
> continue;
> if(j >= i+third)
> continue;
> area = getarea(i,j,third);
> // printf("area %d \n",area);
> if(area > max)
> {
> max = area;
> }
> }
>
> // if(use[n-1][i][j])
> // printf("%d %d \n",i,j);
> }
> }
> max = sqrt(max) * 100;
> // cout<<(int)(max*100)<<endl;
> printf("%I64d\n",(__int64)(max));
> // cout<<area
> return 1;
> }
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator