3137 圆形巧克力

5.20到了,阿P的女朋友送了他一块特别特别大的巧克力(你可以认为是无限大的平面),巧克力上面有三个糖果,阿P喜欢吃巧克力,女朋友要求他吃掉以这三个糖果作为顶点的三角形(必须是非退化的三角形,即选出的点不能共线),吃掉这三个糖果组成的三角形的外接圆,请你帮忙计算一下阿P最多能吃到多少巧克力?

输入

多组数据
第一行一个整数case,表示数据组数
对于每组数据,第一行一个整数n,表示糖果的个数
接下来n行,每行两个数x y,表示一个糖果的坐标为(x,y)

输出

对于每组数据输出能吃的圆形巧克力的最大半径。
本题有spj,与标准输出误差不超过1e-3

数据范围

对于30%的数据: case=1,n<=100
对于60%的数据: case=1,n<=300
对于100%的数据: case<=5,n<=300,0<=坐标<=10000

输入样例

1
4
0 0
1 0
1 1
3 1

输出样例

3.536

解析:

求外接圆最大半径。

正弦定理,

因此枚举所有点的三元组,通过叉积计算面积 ​ ,并根据余弦定理计算外接圆半径。

放代码:

#include <bits/stdc++.h>
using namespace std;
const int maxN = 700;
double dis[maxN][maxN];
double x[maxN], y[maxN];double cross(double x1, double y1, double x2, double y2) {return x1 * y2 - x2 * y1;
}int main() {int t;cin >> t;while (t--) {int n;double ans = 0.0;cin >> n;for (int i = 0; i < n; ++i)cin >> x[i] >> y[i];for (int i = 0; i < n; ++i)for (int j = i + 1; j < n; ++j) {double dx = x[i] - x[j];double dy = y[i] - y[j];dis[i][j] = dis[j][i] = sqrt(dx * dx + dy * dy);}for (int i = 0; i < n; ++i)for (int j = i + 1; j < n; ++j)for (int k = j + 1; k < n; ++k) {double t = fabs(cross(x[k] - x[i], y[k] - y[i], x[j] - x[i], y[j] - y[i]));if (t < 1e-4)continue;ans = max(ans, dis[i][j] * (dis[j][k] / 2.0) * (dis[k][i] / t));}printf("%.3f\n", ans);}return 0;
}

51nod3137 圆形巧克力相关推荐

  1. 3 用python进行OpenCV实战之画图(直线,矩形,圆形)

    前言 在上一节我们通过使用NumPy的数组分割成功的在我们的图像上画了一个绿色的方块,但是如果我们想画一个单一的线条或者圆圈该怎么办呢?NumPy没有提供相关的功能,但是OpenCV提供了相关的函数, ...

  2. LeetCode简单题之圆形赛道上经过次数最多的扇区

    题目 给你一个整数 n 和一个整数数组 rounds .有一条圆形赛道由 n 个扇区组成,扇区编号从 1 到 n .现将在这条赛道上举办一场马拉松比赛,该马拉松全程由 m 个阶段组成.其中,第 i 个 ...

  3. Glide 加载圆形头像和gif 图

    首先到github 上搜索glide 看看版本号 目前是 implementation 'com.github.bumptech.glide:glide:4.9.0'annotationProcess ...

  4. Android 自定义圆形图片 CircleImageView

    1.效果预览 1.1.布局中写自定义圆形图片的路径即可 1.2.然后看一看图片效果 1.3.原图是这样的 @mipmap/ic_launcher 2.使用过程 2.1.CircleImageView源 ...

  5. php方行图片裁剪为圆形,如何将图片裁成圆形、矩形……各种形状?

    做简历的头像.PPT中的图片--经常会想要让图片变成圆形,或对图片进行下裁剪,去掉多余部分,让图片更完美.创客贴有三种方式. 01. 图片吸附框 平台上提供的特色素材之一,可以在设计页左侧的" ...

  6. Python,OpenCV鼠标事件进行矩形、圆形的绘制(随机颜色、随机半径)

    Python,OpenCV鼠标事件进行矩形.圆形的绘制(随机颜色.随机半径) 1. 效果图 2. 源码 参考 这篇博客将介绍鼠标事件,并介绍鼠标事件矩形.圆形的绘制: 所有的鼠标事件(左键按下.左键释 ...

  7. 使用Python,Opencv绘制调色板及圆形来模拟霓虹的渐变效果

    使用Python,Opencv绘制调色板及圆形来模拟霓虹的渐变效果 1. 效果图 2. 源码 参考 这篇博客将使用python,opencv绘制调色板及圆形来模拟霓虹的渐变效果. 1. 效果图 可以构 ...

  8. 【OpenCV 】计算物体的凸包/创建包围轮廓的矩形和圆形边界框/createTrackbar添加滑动条/

    目录 topic 1:模板匹配 topic 2:图像中寻找轮廓 topic 3:计算物体的凸包 topic 4:轮廓创建可倾斜的边界框和椭圆¶ topic 5:轮廓矩¶ topic 6:为程序界面添加 ...

  9. android小球移动代码,Android自定义圆形View实现小球跟随手指移动效果

    本文实例为大家分享了Android实现小球跟随手指移动效果的具体代码,供大家参考,具体内容如下 一. 需求功能 手指在屏幕上滑动,红色的小球始终跟随手指移动. 实现的思路: 1)自定义View,在on ...

最新文章

  1. 一。深入了解JDK1.8 从Package java.io开始
  2. 3D神经接口系统可以感知和操纵“微型脑“
  3. 嵌入式Linux系统编程学习之七gdb调试器
  4. html5执行shell,利用nginx执行Shell 脚本
  5. adprw指令通讯案例_超实用,非常典型的Modbus通讯项目案例,三分钟学会
  6. 你有关注自己的简历吗?优秀的程序员简历是怎样炼成的?
  7. Oracle物化视图的一般使用【转】
  8. 决策控制方法:sequential 规划、behavior-aware规划、端到端规划
  9. 基于python 爬虫的数据库设计开题报告_基于博容舆情分析的Python爬虫系统的设计与应用开题报告...
  10. win7需要计算机管理员权限,解决方案:Win7安装软件需要管理员权限解决方案
  11. gigabyte计算机主板图解,以技嘉主板为例!什么是跳线? 图解主板跳线接法
  12. 你知道如何从零开始学c++游戏编程吗
  13. 对于PS选区的初步认识
  14. NLPCC2021.10.14
  15. 移动应用安全开发要求(1,源码安全)
  16. 如何用七牛云上传音乐生成外链
  17. 官方精简版Windows10:微软自己都看不过去了
  18. python关联通达信pywin32_[AHK]联动通达信其实很简单
  19. 为何工作让你没有成就感
  20. L3-python语言中的几种特征操作

热门文章

  1. 工业机器人的自由度是什么?
  2. 《数据库系统概念》——关系数据库
  3. XAF将ListView和DetailView一起显示
  4. 微机原理 || 8253 芯片 (详细讲解 + 经典例题)
  5. aso标题关键词可以重复吗
  6. 华为手机使用应用沙盒一键修改电池信息
  7. 排序法学习之插入排序(python3实现)
  8. R语言中的fitted() 和 predict()
  9. 基于无线通讯病房远程通信呼叫和温度检测系统设计
  10. Android Fragment 使用解析