南邮 OJ 1702 农田开发

来源:互联网 发布:淘宝搜索不显示折扣价 编辑:程序博客网 时间:2024/04/28 01:56

农田开发

时间限制(普通/Java) : 1000 MS/ 3000 MS          运行内存限制 : 65536 KByte
总提交 : 46            测试通过 : 29 

比赛描述

    有一块农田,田地里安放上N个小木桩,木桩的占地面积忽略不计。选择三个小木桩,使得三个小木桩的围成的三角形占地面积最大。



输入

    第一行一个整数N(3<=n<=100),便是木桩个数。

    接下来N行,每行含有两个整数xi和yi(-10000<=xi,yi<=10000),表示第i个木桩的平面坐标。

输出

    仅含有一个数,表示得到的农田面积的最大值,结果保留一位小数。

样例输入

4
0 0
0 1
1 0
1 1

样例输出

0.5

题目来源

NJU




#include<iostream>using namespace std;int main(){double a[100][2], area, max_area = 0;int n, i, j, k;scanf("%d", &n);for(i = 0; i < n; ++i){scanf("%lf %lf", &a[i][0], &a[i][1]);}for(i = 0; i + 2 < n; ++i){for(j = i + 1; j < n; ++j){for(k = j + 1; k < n; ++k){area = a[i][0] * a[j][1] - a[j][0] * a[i][1] +a[j][0] * a[k][1] - a[k][0] * a[j][1] +a[k][0] * a[i][1] - a[i][0] * a[k][1];if(area < 0){area = -area;}if(max_area < area){max_area = area;}}}}printf("%.1lf\n", max_area / 2);}


0 0
原创粉丝点击