L3-3 神坛 (30 分)
在古老的迈瑞城,巍然屹立着 n 块神石。长老们商议,选取 3 块神石围成一个神坛。因为神坛的能量强度与它的面积成反比,因此神坛的面积越小越好。特殊地,如果有两块神石坐标相同,或者三块神石共线,神坛的面积为 0.000。

长老们发现这个问题没有那么简单,于是委托你编程解决这个难题。

输入格式:
输入在第一行给出一个正整数 n(3 ≤ n ≤ 5000)。随后 n 行,每行有两个整数,分别表示神石的横坐标、纵坐标(−10
​9
​​ ≤ 横坐标、纵坐标 <10
​9
​​ )。

输出格式:
在一行中输出神坛的最小面积,四舍五入保留 3 位小数。

输入样例:
8
3 4
2 4
1 1
4 1
0 3
3 0
1 3
4 2
输出样例:
0.500
样例解释
输出的数值等于图中红色或紫色框线的三角形的面积。


极角排序就可以把复杂度降下来
update:感谢评论天龙四十八部~极角排序是没有问题的,但是如果正好出现这种对称且有斜率为0就会出问题了。三角形的面积是叉积,也就是有向面积,与正负无关,所以排序可以加上abs,直接两两排序这样确实存在问题。

#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int N=5005;
int n;
struct T
{ll x,y;
} p[N],c[N];
int main()
{int n;cin>>n;for(int i=0; i<n; i++){cin>>p[i].x>>p[i].y;}ll ans=1e18;for(int i=0; i<n; i++){int k=0;for(int j=0; j<n; j++)if(i!=j)c[k].x=p[j].x-p[i].x,c[k++].y=p[j].y-p[i].y;sort(c,c+k,[](T a,T b){return abs(b.y*a.x)>abs(b.x*a.y);});for(int j=1; j<k; j++){ans=min(ans,abs(c[j].y*c[j-1].x-c[j].x*c[j-1].y));}}printf("%.3f\n",ans/2.);return 0;
}

PTA 神坛 (30 分)相关推荐

  1. 【CCCC】L3-021 神坛 (30分)计算几何+求三角形面积(极角排序)

    problem L3-021 神坛 (30分) 在古老的迈瑞城,巍然屹立着 n 块神石.长老们商议,选取 3 块神石围成一个神坛.因为神坛的能量强度与它的面积成反比,因此神坛的面积越小越好.特殊地,如 ...

  2. L3-021 神坛 (30分)

    L3-021 神坛 (30分) 在古老的迈瑞城,巍然屹立着 n 块神石.长老们商议,选取 3 块神石围成一个神坛.因为神坛的能量强度与它的面积成反比,因此神坛的面积越小越好.特殊地,如果有两块神石坐标 ...

  3. 7-4 神坛 (30分)

    7-4 神坛 (30分) 在古老的迈瑞城,巍然屹立着 n 块神石.长老们商议,选取 3 块神石围成一个神坛.因为神坛的能量强度与它的面积成反比,因此神坛的面积越小越好.特殊地,如果有两块神石坐标相同, ...

  4. L3-021 神坛 (30 分)

    L3-021 神坛 (30 分) 在古老的迈瑞城,巍然屹立着 n 块神石.长老们商议,选取 3 块神石围成一个神坛.因为神坛的能量强度与它的面积成反比,因此神坛的面积越小越好.特殊地,如果有两块神石坐 ...

  5. L3-021 神坛 (30分)(图论)

    L3-021 神坛 (30分) 在古老的迈瑞城,巍然屹立着 n 块神石.长老们商议,选取 3 块神石围成一个神坛.因为神坛的能量强度与它的面积成反比,因此神坛的面积越小越好.特殊地,如果有两块神石坐标 ...

  6. PTA:7-4 神坛 (30 分)

    一.题目 在古老的迈瑞城,巍然屹立着 n 块神石.长老们商议,选取 3 块神石围成一个神坛.因为神坛的能量强度与它的面积成反比,因此神坛的面积越小越好.特殊地,如果有两块神石坐标相同,或者三块神石共线 ...

  7. L3-021 神坛 (30 分)-PAT 团体程序设计天梯赛 GPLT

    在古老的迈瑞城,巍然屹立着 n 块神石.长老们商议,选取 3 块神石围成一个神坛.因为神坛的能量强度与它的面积成反比,因此神坛的面积越小越好.特殊地,如果有两块神石坐标相同,或者三块神石共线,神坛的面 ...

  8. L3-3 神坛 (30分)

    在古老的迈瑞城,巍然屹立着 n 块神石.长老们商议,选取 3 块神石围成一个神坛.因为神坛的能量强度与它的面积成反比,因此神坛的面积越小越好.特殊地,如果有两块神石坐标相同,或者三块神石共线,神坛的面 ...

  9. L3-021 神坛 (30分)

    在古老的迈瑞城,巍然屹立着 n 块神石.长老们商议,选取 3 块神石围成一个神坛.因为神坛的能量强度与它的面积成反比,因此神坛的面积越小越好.特殊地,如果有两块神石坐标相同,或者三块神石共线,神坛的面 ...

  10. 神坛 (30 分)(立体几何求三个点组成的最小面积)

    题目:https://pintia.cn/problem-sets/994805046380707840/problems/994805046577840128 在古老的迈瑞城,巍然屹立着 n 块神石 ...

最新文章

  1. 3dsMax插件V-Ray建筑可视化三维渲染细节技术学习教程
  2. 欧洲最大云服务公司火灾!数百万网站出现故障企业网络推广大型瘫痪现场!...
  3. FullCalendar
  4. Intel Realsense C/C++ 转 python (1)rs-hello-realsense 获取摄像头正中心对应的深度数据 get_distance()
  5. 网络间谍又添利器:新型远程访问木马Trochilus
  6. 前端性能优化:使用Data URI代替图片SRC
  7. FoodMart数据仓库mysql表及数据初始化
  8. Linq to Oracle 使用教程(八)使用 T4 模版生成代码
  9. Powerful array CodeForces - 86D (莫队算法)
  10. scala中命名参数函数_Scala中带有命名参数的函数
  11. 饿了么4年+阿里2年:研发路上的一些总结与思考
  12. keil 生成bin找不到afx文件_【学习笔记】Keil不能正确生成.bin文件的解决办法
  13. 【免费下载】2021年8月热门报告盘点(附热门报告列表及下载链接)
  14. Shell date连接mysql执行指令
  15. 此笔记只作为自身笔记,结构比较混乱,不建议参考,如有需要请访问其他文献,servlet的基础知识和使用
  16. 大B公司自己做AI,都是九死一生——To B AI 平台的1.0 模式,已几乎宣告失败?...
  17. 小区门禁卡可以复制到手机上吗_手机NFC可以复制小区用的门禁卡吗?步骤是什么?...
  18. 2022年基站行业研究报告
  19. Ubuntu 16.04 安装 搜狗输入法
  20. 请问 土壤粒径的多重分形维数怎么计算?有matlab计算代码吗?

热门文章

  1. 由一道题目总结幂级数的收敛域问题
  2. python 打开csv文件,报错'utf-8' codec can't decode bytes in position 16: invalid continuation byte
  3. 选购超声波探伤仪最需要看哪些参数?看完文章就能学会!
  4. Win32学习笔记(五)消息
  5. admi后台 vue_Vue管理后台框架选择推荐
  6. verdi仿真中看波形经常犯的错误
  7. jQuery之动画-滑入、滑出
  8. Polygon zkEVM交易解析
  9. 惠普hp431安装教程10.8.2
  10. 【pwnable.kr】Toddler‘s Bottle-[flag]