UVA 12300 - Smallest Regular Polygon(计算几何)
来源:互联网 发布:越南第三军事强国知乎 编辑:程序博客网 时间:2024/04/30 11:38
思路:找对点最优,奇数情况下,半径要另外算
大概这么一个图,偶数就是距离的一半,奇数的话,做一个正2N边形,那么半径就可以利用三角函数算出来了
然后有了外切圆半径,就能算面积了,为sin(2pi / n) * r * r * n / 2
代码:
#include <cstdio>#include <cstring>#include <algorithm>#include <cmath>using namespace std;const double PI = acos(-1.0);double xa, ya, xb, yb;int n;int main() { while (~scanf("%lf%lf%lf%lf%d", &xa, &ya, &xb, &yb, &n) && xa || ya || xb || yb || n) { double dx = xa - xb, dy = ya - yb; double l = sqrt(dx * dx + dy * dy) / 2; double r = l; if (n % 2) r = l / sin(PI * (n * 2 - 2) / (n * 2) / 2); printf("%.6f\n", sin(2 * PI / n) * r * r * n / 2); } return 0;}
0 0
- UVA 12300 - Smallest Regular Polygon(计算几何)
- uva 12300 Smallest Regular Polygon(计算几何)
- Smallest Regular Polygon - UVa 12300 几何
- uva 12300 - Smallest Regular Polygon(几何)
- uva 12300 - Smallest Regular Polygon
- UVa 12300 Smallest Regular Polygon 正多边形内的计算
- 注意精度问题 UVA 12300 Smallest Regular Polygon
- Regular Polygon - UVa 10824 几何+二分
- Regular Polygon - UVa 10824 几何暴力
- 【二分+计算几何】hdu 4033 Regular Polygon
- hdu6055 Regular polygon(简单计算几何)
- UVA12300-Smallest Regular Polygon
- UVA 12300 || Smallest Regular Polygon(给定两点,求穿过两点的最小正多边形
- Regular polygon 数学几何
- (2017多校2)1011/hdu-6055 Regular polygon(计算几何)
- 17多校contest two 1011Regular polygon ( 计算几何
- Regular polygon(2017多校联赛2。 计算几何)
- HDU 6055 Regular polygon (计算几何 + 国家队论文结论)
- ios addChildViewController
- OpenCV4Android SDK在Win 8.1平台上的配置
- PCL点云库介绍及项目配置
- Mac VPN 分流
- Leetcode解题-链表(2.2.1)AddTwoNumbers
- UVA 12300 - Smallest Regular Polygon(计算几何)
- iOS数据持久化
- js判断移动,平板跳转页面
- iOS开发-文件管理(一)
- sphinx中文分词检索 如何让分词的精确度更高
- 类的const和非const成员函数的重载
- Python核心编程阅读笔记(一)
- android开发———数据存储之SharedPreferences
- lucene nutch solr及hadoop的区别和联系