[神坛]pta

*相邻两条边围成的三角形面积会是最小的

极角排序+叉积计算三角形面积

#include<bits/stdc++.h>
#define int long long
using namespace std; const int N = 2e5 + 10;
int n, m;
double ans = -1;
struct node{
int x, y;
int pos;
}a[N], b[N]; int jd(node s){
if(s.x > 0 && s.y > 0) return 1;
if(s.x < 0 && s.y > 0) return 2;
if(s.x < 0 && s.y < 0) return 3;
if(s.x > 0 && s.y < 0) return 4;
return 0;//不加的话,vscode会报错
} //计算几何:极角排序
bool cmp(node s1, node s2){
if(s1.pos != s2.pos) return s1.pos < s2.pos;
return s1.x * s2.y - s1.y * s2.x > 0;
} signed main(){
// ios::sync_with_stdio(false);
// cin.tie(0); cout.tie(0);
cin >> n;
for(int i = 1; i <= n; i++) cin >> a[i].x >> a[i].y;
for(int i = 1; i <= n; i++){
int cnt = 0;
for(int j = 1; j <= n; j++){//确定第二个点
if(i == j) continue;
b[++cnt].x = a[i].x - a[j].x;
b[cnt].y = a[i].y - a[j].y;
b[cnt].pos = jd(b[cnt]);
}
sort(b + 1, b + n, cmp);
for(int j = 1; j < n - 1; j ++){
if(ans == -1 || abs(b[j].x * b[j + 1].y - b[j].y * b[j + 1].x ) * 0.5 < ans){
//叉乘计算三角形面积
ans = abs(b[j].x * b[j + 1].y - b[j].y * b[j + 1].x ) * 0.5;
}
}
}
printf("%.3lf", ans);
return 0;
}

pta-神坛的更多相关文章

  1. PTA刷题笔记

    PTA刷题记录 仓库地址: https://github.com/Haorical/Code/tree/master/PTA/GPLT 两周之内刷完GPLT L2和L3的题,持续更新,包括AK代码,坑 ...

  2. 浙大PTA - - 堆中的路径

    题目链接:https://pta.patest.cn/pta/test/1342/exam/4/question/21731 本题即考察最小堆的基本操作: #include "iostrea ...

  3. 浙大PTA - - File Transfer

    题目链接:https://pta.patest.cn/pta/test/1342/exam/4/question/21732 #include "iostream" #includ ...

  4. ERROR<53761> - Plugins - conn=-1 op=-1 msgId=-1 - Connection Bind through PTA failed (91). Retrying...

    LDAP6.3在DSCC控制台启动实例完成,但是操作状态显示“意外错误”,查看日志如下: 04/May/2016:21:10:39 +0800] - Sun-Java(tm)-System-Direc ...

  5. PTA中提交Java程序的一些套路

    201708新版改版说明 PTA与2017年8月已升级成新版,域名改为https://pintia.cn/,官方建议使用Firefox与Chrome浏览器. 旧版 PTA 用户首次在新版系统登录时,请 ...

  6. PTA分享码-Java

    主要用于Java语法练习,非竞赛类题目.   1. Java入门          959dbf0b7729daa61d379ec95fb8ddb0   2. Java基本语法   23bd8870e ...

  7. C语言第一次实验报告————PTA实验1.2.3内容

    一.PTA实验作业 题目1.温度转换 本题要求编写程序,计算华氏温度100°F对应的摄氏温度.计算公式:C=5×(F−32)/9,式中:C表示摄氏温度,F表示华氏温度,输出数据要求为整型. 1.实验代 ...

  8. PTA题---求两个有序序列中位数所体现的思想。

    ---恢复内容开始--- 近日,在做PTA题目时,遇到了一个这样的题,困扰了很久.题目如下:已知有两个等长的非降序序列S1, S2, 设计函数求S1与S2并集的中位数.有序序列A​0​​,A​1​​, ...

  9. 第十四,十五周PTA作业

    1.第十四周part1 7-3 #include<stdio.h> int main() { int n; scanf("%d",&n); int a[n]; ...

  10. 第七周PTA作业

    第一题: #include<stdio.h> int main() { ; ; ){ sum=sum+i; i++; } printf("sum = %d\n",sum ...

随机推荐

  1. [转帖]总成本降低80%,支付宝使用OceanBase的历史库实践

    https://open.oceanbase.com/blog/5377309696 为解决因业务增长引发的数据库存储空间问题,支付宝基于 OceanBase 数据库启动历史库项目,通过历史数据归档. ...

  2. [转帖]oracle 11.2.0.4 rac集群等待事件enq: TM - contention

    近期,一金融客户oracle 11.2.0.4 rac集群delete不当导致等待事件enq: TM - contention严重引起大范围会话堆积,记录的相关分析工作如下. 1.登录集群任意节点,查 ...

  3. [转帖]Linux cut命令

    https://www.runoob.com/linux/linux-comm-cut.html#:~:text=Linux%20cut%E5%91%BD%E4%BB%A4%201%20-b%20%E ...

  4. Hutool中那些常用的工具类和实用方法

    背景 灵魂拷问1:还在为新项目工具类搬迁而烦恼? 灵魂拷问2:还在为项目中工具类维护而烦恼? 简述 **Hutool**它是一个Java工具集类库,包含了很多静态方法的封装:流处理.时间日期处理.正则 ...

  5. vue中设置props参数类型

    props参数的使用 在使用vue的项目开发的过程中 经常会定义大量的组件使用 这个时候组件中的定义的数据类型就非常重要了 此时我们需要定义组件中需要的数据类型 之前我只知道简单的几个 今天忽然发现原 ...

  6. 为不同版本python安装pip的正确做法

    想学习Python3,但是暂时又离不开Python2.在Windows上如何让它们共存呢? 目前国内网站经常会让大家把其中一个python.exe改个名字(嗯,我也这样讲过,在此纠正一下),这样区分开 ...

  7. Docker 安装 MySQL8 数据库

    创建数据卷 mkdir -p /usr/mysql/conf /usr/mysql/data chmod -R 755 /usr/mysql/ 创建配置文件 vim /usr/mysql/conf/m ...

  8. C++ STL 标准模板库(排序/集合/适配器)算法

    C++ 标准模板库STL,是一个使用模板技术实现的通用程序库,该库由容器container,算法algorithm,迭代器iterator,容器和算法之间通过迭代器进行无缝连接,其中所包含的数据结构都 ...

  9. ubuntu系统单网卡配置多网段IP

    环境 系统版本:Ubuntu 16.04.5 LTS 配置 ubuntu系统网卡文件是interfaces,修改网卡配置文件vim /etc/network/interfaces添加2个IP地址: a ...

  10. ABP vNext系列文章和视频

    <Mastering ABP Framework>图书目录 第一部分 企业级软件开发和ABP框架 ABP框架入门 ABP应用开发(Step by Step)-上篇 ABP应用开发(Step ...