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

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

输入格式:

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

输出格式:

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

输入样例:

8
3 4
2 4
1 1
4 1
0 3
3 0
1 3
4 2

输出样例:

0.500

分析:A中存储神石的点坐标,B中存储去掉枚举点且排序后,两神石的之间的向量值。枚举每一个点作为起始点,按照极坐标将B排序后,按照向量计算中,三角形面积 = 1/2 * |x1y2 – x2y1|,遍历求出最小神坛面积~

#include <bits/stdc++.h>
using namespace std;
int n, i, cnt;
long long ans = 1e17;
bool cmp (const pair<long long, long long> &a, const pair<long long, long long> &b) {if (a.first * b.second != b.first * a.second)return a.first * b.second > b.first * a.second;return a.first < b.first;
}
int main() {scanf("%d", &n);vector<pair<long long, long long>> A(n), B(n - 1);for (i = 0; i < n; i++) scanf("%lld %lld", &A[i].first, &A[i].second);for (i = 0; i < n; i++, cnt = 0) {for (int j = 0; j < n; j++) {if (i == j) continue;B[cnt++] = {A[j].first - A[i].first, A[j].second - A[i].second};}sort(B.begin(), B.end(), cmp);for (int j = 1; j < n - 1; ++j) ans = min(ans, abs(B[j - 1].first * B[j].second - B[j].first * B[j - 1].second));}printf("%.3f", 0.5 * ans);return 0;
}

L3-021 神坛 (30 分)-PAT 团体程序设计天梯赛 GPLT相关推荐

  1. L3-011 直捣黄龙 (30 分)-PAT 团体程序设计天梯赛 GPLT

    本题是一部战争大片 -- 你需要从己方大本营出发,一路攻城略地杀到敌方大本营.首先时间就是生命,所以你必须选择合适的路径,以最快的速度占领敌方大本营.当这样的路径不唯一时,要求选择可以沿途解放最多城镇 ...

  2. L3-017 森森快递 (30 分)-PAT 团体程序设计天梯赛 GPLT

    森森开了一家快递公司,叫森森快递.因为公司刚刚开张,所以业务路线很简单,可以认为是一条直线上的N个城市,这些城市从左到右依次从0到(N−1)编号.由于道路限制,第i号城市(i=0,⋯,N−2)与第(i ...

  3. L3-012 水果忍者 (30 分)-PAT 团体程序设计天梯赛 GPLT

    2010年风靡全球的"水果忍者"游戏,想必大家肯定都玩过吧?(没玩过也没关系啦~)在游戏当中,画面里会随机地弹射出一系列的水果与炸弹,玩家尽可能砍掉所有的水果而避免砍中炸弹,就可以 ...

  4. L3-020 至多删三个字符 (30 分)-PAT 团体程序设计天梯赛 GPLT

    给定一个全部由小写英文字母组成的字符串,允许你至多删掉其中 3 个字符,结果可能有多少种不同的字符串? 输入格式: 输入在一行中给出全部由小写英文字母组成的.长度在区间 [4, 106] 内的字符串. ...

  5. L3-016 二叉搜索树的结构 (30 分)-PAT 团体程序设计天梯赛 GPLT

    二叉搜索树或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值:若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值:它的左.右子树也分别 ...

  6. L3-009 长城 (30 分)-PAT 团体程序设计天梯赛 GPLT

    正如我们所知,中国古代长城的建造是为了抵御外敌入侵.在长城上,建造了许多烽火台.每个烽火台都监视着一个特定的地区范围.一旦某个地区有外敌入侵,值守在对应烽火台上的士兵就会将敌情通报给周围的烽火台,并迅 ...

  7. L3-006 迎风一刀斩 (30 分)-PAT 团体程序设计天梯赛 GPLT

    迎着一面矩形的大旗一刀斩下,如果你的刀够快的话,这笔直一刀可以切出两块多边形的残片.反过来说,如果有人拿着两块残片来吹牛,说这是自己迎风一刀斩落的,你能检查一下这是不是真的吗? 注意摆在你面前的两个多 ...

  8. L3-023 计算图 (30 分)--PAT 团体程序设计天梯赛 GPLT

    "计算图"(computational graph)是现代深度学习系统的基础执行引擎,提供了一种表示任意数学表达式的方法,例如用有向无环图表示的神经网络. 图中的节点表示基本操作或 ...

  9. L3-022 地铁一日游 (30 分)-PAT 团体程序设计天梯赛 GPLT

    森森喜欢坐地铁.这个假期,他终于来到了传说中的地铁之城--魔都,打算好好过一把坐地铁的瘾! 魔都地铁的计价规则是:起步价 2 元,出发站与到达站的最短距离(即计费距离)每 K 公里增加 1 元车费. ...

最新文章

  1. JAVA TCP通信基础篇——对发消息【如何解决输入流假死状态】
  2. express基础一:开始
  3. python模型的属性是什么_Python的自定义属性访问跟描述器以及ORM模型的简单介绍...
  4. 使用ADF绑定创建视图对象行CreateInsert操作
  5. HTML如何添加锚点,总结到位
  6. 零基础到进阶,Python正则表达式详解
  7. 【有返回值的回溯法】剑指offer——面试题66:矩阵中的路径(回溯法)
  8. 纯新手DSP编程--5.30--任务的通信和同步
  9. linux img提取文件系统,镜像文件提取System.img解/打包工具及常用命令
  10. 方案分享丨基于海思Hi3519智能 IP 摄像机解决方案
  11. 【资料】哈代拉马努金相关,悼文,哈佛演讲,及各种杂七杂八资料整理
  12. AR VR MR 到底有啥区别?
  13. windows怎样连接到linux桌面,Windows远程桌面连接Ubuntu 14.04
  14. LOJ 3090 「BJOI2019」勘破神机——斯特林数+递推式求通项+扩域
  15. 2411681-88-2,Thalidomide-O-PEG4-NHS ester它与胺部分反应
  16. 乾颐堂python完整版百度云_第一卦 乾 乾为天 乾上乾下
  17. 交换机与路由器工作原理
  18. 《期权、期货及其他衍生产品》读书笔记(第九章:价值调节量)
  19. cad app android,迷你CAD免费手机版
  20. Linux ssh免密登录

热门文章

  1. 当try和finally都包含return时
  2. json数组对象和对象数组
  3. 通过SharedPreferences方式存储复杂数据
  4. gtk_widget_modify_bg的用法
  5. 《Programming in Lua 3》读书笔记(五)
  6. python 配置文件返回的两种方式,写法不一样而已
  7. dotnetNuke module development steps, dnn 模块开发步骤
  8. oracle 表查询(1)
  9. 2012年最佳免费网站和移动应用 PSD 界面素材揭晓
  10. Java学习笔记(3)——资源管理