/*求四边形面积 + 叉乘的应用 http://acm.nyist.edu.cn/JudgeOnline/problem.php?pid=952题意:有n个点,求这些点能组成的最大四边形面积思路:两层循环用来枚举每一条线段,分别求线段两边最远的点,即与该线段所组成的三角形面积最大。该线段也就是四边形的对角线
*/
#include <iostream>
#include <math.h>
#include <algorithm>
#include <stdio.h>
#include <string.h>
using namespace std;
#define eps 1e-10#define maxn 310
struct point
{double x,y;
}Point[maxn];/*
double cross(point p1,point p2,point p0)///叉乘求三角形的面积
{double abx = p2.x - p1.x;double aby = p2.y - p1.y;double acx = p0.x - p1.x;double acy = p0.y - p1.y;return (abx*acy - aby*acx)*0.5;
}*/
//简约版
double cross(point p1,point p2,point p0)///叉乘求三角形的面积
{  return ((p1.x-p0.x)*(p2.y-p0.y)-(p1.y-p0.y)*(p2.x-p0.x))*0.5;
}  int main()
{int n;while(~scanf("%d",&n)){for(int i=0; i<n; i++)scanf("%lf %lf",&Point[i].x,&Point[i].y);double ans=0,lmax=0,rmax;for(int i=0; i<n; i++){for(int j=i+1; j<n; j++)///这两个for是枚举对角线的两个点{rmax=0,lmax=0;for(int k=0; k<n; k++)///这是枚举对角线两侧的点{if(k!=i && k!=j){double s=cross(Point[i],Point[j],Point[k]);if(s<eps)  lmax=max(lmax,-s);else      rmax=max(rmax,s);}}if(lmax==0 || rmax==0) continue;///判断是否构成四边形ans=max(ans,(rmax+lmax));///比较各对角线所获的最大四边形的面积}}printf("%.6lf\n",ans);}return 0;
}

求最大的四边形面积 + 叉乘的应用相关推荐

  1. Gym - 102460L Largest Quadrilateral(几何-凸包+旋转卡壳求最大的四边形面积)

    题目链接:点击查看 题目大意:在笛卡尔坐标系上给出 n 个点,要求选出四个点,使得组成的四边形面积最大,求出这个最大的面积,注意此处组成的四边形不是严格意义上的四边形,只需要选四个点就行 题目分析:首 ...

  2. poj1408 四边形面积

    这道题就是一个求线段交点+四边形面积. 线段的交点要可以用公式计算,前提是要保证它们确实相交. //计算两线段交点,调用前请判线段是否相交(同时还是要判断是否平行!) point intersecti ...

  3. 算法之美——求两直线交点(三维叉积)——求四边形面积(二维叉积)

    一般方程法: 直线的一般方程为F(x) = ax + by + c = 0.既然我们已经知道直线的两个点,假设为(x0,y0), (x1, y1),那么可以得到a = y0 – y1, b = x1 ...

  4. c++ 求四边形面积和周长_C语言编程题 题目:任意输入4个点,求围成四边形的面积是多少?...

    C语言编程题:任意输入4个点,求围成四边形的面积是多少.代码如下: #include "stdio.h" #include "math.h" void main ...

  5. 任意给4条边求形成四边形面积最大值

    题目:任意给4条边,求形成四边形面积最大值. 结论:形成的四边形的四个顶点都在它的外接圆上,面积S满足: 其中 这也即是圆内接四边形的面积公式. 证明过程: 首先我们把四边形的四个顶点和四条边顺次分别 ...

  6. bzoj1069: [SCOI2007]最大土地面积 凸包+旋转卡壳求最大四边形面积

    在某块平面土地上有N个点,你可以选择其中的任意四个点,将这片土地围起来,当然,你希望这四个点围成的多边形面积最大. 题解:先求出凸包,O(n)枚举旋转卡壳,O(n)枚举另一个点,求最大四边形面积 /* ...

  7. c++ 求四边形面积和周长_C语言编程题 题目:任意输入4个点,求围成四边形的面积是多少?C语言编程题 题目:任意输入4...

    C语言编程题 题目:任意输入4个点,求围成四边形的面积是多少? C语言编程题 题目:任意输入4 www.zhiqu.org     时间: 2020-12-07 我测试过了,四点一线,凹四边形,四边形 ...

  8. 【求四边形面积_Java语言编程题】

    给四个点的坐标,求四边形面积(java版) java版 //任意输入4个点,求围成四边形的面积是多少? //四点一线.凹四边形.四边形,有两个点共点,都可以套用. public long getAre ...

  9. 求三角形 四边形面积(python)

    注:对于四边形,需要先按顺时针或者逆时针排序,可以对凸四边形或者凹四边形进行计算. #!/usr/bin/env python # -*- coding: utf-8 -*- "" ...

最新文章

  1. u盘安装ubuntu10.04 、11.04 server
  2. 【Netty】TCP粘包和拆包
  3. Docker container与宿主进程相互隔离的实现原理
  4. 年终福利 | “社区之星”(社区核心贡献者)成长故事征集
  5. vue 全家桶 - 前端工程化
  6. DataSnap服务器从xe2升级到xe5报错的处理
  7. 【渝粤教育】国家开放大学2018年秋季 0053-21T移动通信技术与移动通信设备 参考试题
  8. iOS底层探索之dyld(上):动态链接器流程分析
  9. C++函数和函数的调用
  10. 信息系统运行维护服务方案(IT运维服务方案)
  11. LwIP协议栈源码详解—TCP定时器
  12. 伪C++开发连连看(补充)
  13. 电脑硬盘分区不见了怎么恢复数据?
  14. 嵌入式软件是怎么分类的?
  15. 十年•杭研大咖说 | 邱似峰:从应届生到网易视频云CTO的蜕变
  16. 从混沌到有序的远程办公进阶之路
  17. vue2关于引入字体的步骤
  18. python用途谷歌浏览器-python调用chrome ie等浏览器
  19. 如何用 JS 实现 3D 赛车效果
  20. C语言递归实现汉诺塔

热门文章

  1. Android 系统简介
  2. Android 二维图形处理引擎 Skia
  3. 孙叫兽带你了解腾讯位置服务的认证与接入,多种行业方案参考!
  4. 详细:Source Insight 4.0 延长试用期方法,图文教程
  5. 新浪与MSN合作,囧
  6. 辉太郎看前端(查找出字符串或数组中出现次数最多的字符)
  7. 神经网络模型提升算法性能的方法
  8. 怎么写出美观,可读性高的代码?
  9. 操作系统实验1——系统启动过程
  10. 动态规划(二)——错位重排