https://pintia.cn/problem-sets/994805046380707840/problems/994805046577840128

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

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

输入格式:

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

输出格式:

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

输入样例:

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

输出样例:

0.500

代码:

#include <bits/stdc++.h>
using namespace std; #define ll long long
const int maxn = 5100;
int N;
ll ans = 1e18; struct Node{
ll x;
ll y;
}node[maxn], l[maxn]; bool cmp(const Node &a, const Node &b) {
return b.y * a.x > b.x * a.y;
} int main() {
scanf("%d", &N);
for(int i = 0; i < N; i ++)
scanf("%lld%lld", &node[i].x, &node[i].y); int cnt = 0;
for(int i = 0; i < N; i ++) {
cnt = 0;
for(int j = 0; j < N; j ++) {
if(i != j) {
l[cnt].x = node[j].x - node[i].x;
l[cnt].y = node[j].y - node[i].y;
cnt ++;
}
}
sort(l, l + cnt, cmp); for(int j = 1; j < cnt; j ++)
ans = min(ans, abs(l[j].y * l[j - 1].x - l[j].x * l[j - 1].y));
} printf("%.3f\n", ans / 2.0);
return 0;
}

  极角排序 暴力超时 

PAT L3-021 神坛的更多相关文章

  1. PAT天梯赛练习题 L3-010. 是否完全二叉搜索树(完全二叉树的判断)

    L3-010. 是否完全二叉搜索树 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 将一系列给定数字顺序插入一个初始为空的二叉搜 ...

  2. 《转载》PAT 习题

    博客出处:http://blog.csdn.net/zhoufenqin/article/details/50497791 题目出处:https://www.patest.cn/contests/pa ...

  3. PAT Judge

    原题连接:https://pta.patest.cn/pta/test/16/exam/4/question/677 题目如下: The ranklist of PAT is generated fr ...

  4. PAT/字符串处理习题集(二)

    B1024. 科学计数法 (20) Description: 科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式[+-][1-9]"."[0-9]+E[+ ...

  5. 配置 L3 agent - 每天5分钟玩转 OpenStack(99)

    上一节我们介绍了路由服务(Routing)的基本功能,今天教大家如何配置. Neutron 的路由服务是由 l3 agent 提供的. 除此之外,l3 agent 通过 iptables 提供 fir ...

  6. Neutron 理解 (6): Neutron 是怎么实现虚拟三层网络的 [How Neutron implements virtual L3 network]

    学习 Neutron 系列文章: (1)Neutron 所实现的虚拟化网络 (2)Neutron OpenvSwitch + VLAN 虚拟网络 (3)Neutron OpenvSwitch + GR ...

  7. 理解 OpenStack 高可用(HA)(2):Neutron L3 Agent HA 之 虚拟路由冗余协议(VRRP)

    本系列会分析OpenStack 的高可用性(HA)概念和解决方案: (1)OpenStack 高可用方案概述 (2)Neutron L3 Agent HA - VRRP (虚拟路由冗余协议) (3)N ...

  8. PAT 1041. 考试座位号(15)

    每个PAT考生在参加考试时都会被分配两个座位号,一个是试机座位,一个是考试座位.正常情况下,考生在入场时先得到试机座位号码,入座进入试机状态后,系统会显示该考生的考试座位号码,考试时考生需要换到考试座 ...

  9. PAT 1040. 有几个PAT(25)

    字符串APPAPT中包含了两个单词"PAT",其中第一个PAT是第2位(P),第4位(A),第6位(T):第二个PAT是第3位(P),第4位(A),第6位(T). 现给定字符串,问 ...

随机推荐

  1. Oracle数据库里面查询字符串类型的字段不为空和为空的SQL语句:

    一:查询字符串类型的字段的值不为空的SQL: select * from TB_CMS_FLGTINFO_A t where (t.fsta is not null and t.fsta <&g ...

  2. dispatchTouchEvent

    View /**  * Pass the touch screen motion event down to the target view, or this  * view if it is the ...

  3. Class中的getClasses与getDeclaredClasses方法作用于区别

    getClasses和getDeclaredClasses的区别: getClasses得到该类及其父类所有的public的内部类. getDeclaredClasses得到该类所有的内部类,除去父类 ...

  4. OpenSCAD(1)基础教程

    https://blog.csdn.net/freewebsys/article/details/49993049 官网 https://en.wikibooks.org/wiki/OpenSCAD_ ...

  5. python中requests已安装却仍报No module named requests错的原因

    调用pip list可见已经成功安装了: requests 但是在运行时仍报错: userdeMacBook-Pro:xiaohui user$ python test_web.py Tracebac ...

  6. day14 Python函数

    函数def,严格来讲有个return返回值 过程就是没有return返回值的函数 #过程 def test01(): msg = 'liuhaoran' print(msg) #函数 def test ...

  7. java程序应为CRT登录时启动未设置编码,造成启动乱码

    1.以下提供CRT连接程序设置编码脚本,后缀为“.vbs” # $language = "VBScript"# $interface = "1.0" Sub M ...

  8. oracle(sql)基础篇系列(五)——PLSQL、游标、存储过程、触发器

    PL/SQL PL/SQL 简介 每一种数据库都有这样的一种语言,PL/SQL 是在Oracle里面的一种编程语言,在Oracle内部使用的编程语言.我们知道SQL语言是没有分支和循环的,而PL语言是 ...

  9. Java连接Redis之redis的增删改查

    一.新建一个maven工程,工程可以以jar的形式或war都行,然后导入正确的依赖 <project xmlns="http://maven.apache.org/POM/4.0.0& ...

  10. JS数组的需要注意的问题

    一.在js中数组是我们经常使用的数据类型,也为我们提供了很多方法.但是有些方法需要注意使用: 1.indexOf(args):匹配一个数组中与args相等的项的索引位置,如果该数组包含这个匹配项则返回 ...