godfrey90 发表于 2013-1-26 14:18:31

7th_E

本题思路,首先求出每两点之间的距离,储存在d中,然后穷举所有情况,通过海伦公式计算三角形面积,找出最大的面积。
#include<cstdio>#include<cmath>int n;int x;int y;double d;double result=0;int main(){scanf("%d",&n);for(int i=0;i<n;i++){scanf("%d%d",&x,&y);}for(int i=0;i<n;i++){for(int j=i+1;j<n;j++){double temp=sqrt((x-x)*(x-x)+(y-y)*(y-y));d=temp;d=temp;}}for(int i=0;i<n;i++){for(int j=i+1;j<n;j++){for(int k=j+1;k<n;k++){double p = (d+d+d)/2;double temp = sqrt(p*(p-d)*(p-d)*(p-d));if(temp>result){result=temp;}}}}printf("%.1lf\n",result);return 0;}
页: [1]
查看完整版本: 7th_E