题目: http://codeforces.com/contest/1/problem/C

题意:给你一个正凸多边形的三个点,然后求出这个正凸多边形的面积的最小值。

方法是这样的:以这三个点做一个三角形,求出这个三角形的外心(外接圆的圆心),这个点也就是外接多边形的中心

然后找出内角所对应的边数的GCD

当然,内角所对应的边数不一定是整数,我们需要用double的GCD和LCM进行计算,求出最小边数。

#include <stdio.h>
#include <math.h>
const double eps=1e-4;
const double PI=acos(-1.0);
double gcd(double x,double y)
{
return y>eps? gcd(y,x-floor(x/y)*y):x;
}
double bcos(double a,double b,double c)
{
return acos((a*a+b*b-c*c)/(2*a*b));
}
int main()
{
double ax,ay,bx,by,cx,cy;
scanf("%lf%lf%lf%lf%lf%lf",&ax,&ay,&bx,&by,&cx,&cy);
double a=sqrt((ax-bx)*(ax-bx)+(ay-by)*(ay-by));
double b=sqrt((ax-cx)*(ax-cx)+(ay-cy)*(ay-cy));
double c=sqrt((bx-cx)*(bx-cx)+(by-cy)*(by-cy));
double p=(a+b+c)/2;
double s=sqrt(p*(p-a)*(p-b)*(p-c));
double R=(a*b*c)/(4*s);
double A=bcos(b,c,a);
double B=bcos(a,c,b);
double C=bcos(a,b,c);
double n=PI/gcd(A,gcd(B,C));
printf("%.11lf\n",R*R*sin(2*PI/n)*n/2);
return 0;
}

Codeforces Beta Round #1--C题(多边形求最小面积)相关推荐

  1. Codeforces Beta Round #5 B. Center Alignment 模拟题

    B. Center Alignment 题目连接: http://www.codeforces.com/contest/5/problem/B Description Almost every tex ...

  2. Codeforces Beta Round #17 D. Notepad (数论 + 广义欧拉定理降幂)

    Codeforces Beta Round #17 题目链接:点击我打开题目链接 大概题意: 给你 \(b\),\(n\),\(c\). 让你求:\((b)^{n-1}*(b-1)\%c\). \(2 ...

  3. Codeforces Beta Round #75 (Div. 1 Only) B. Queue 线段树。单点更新

    http://codeforces.com/problemset/problem/91/B 题意: 给你n个数,求得i 到n中小于a[i]的最右边的a[j],然后求a[i]到a[j]之间包含了多少个数 ...

  4. codeforces beta round 1

    codeforces beta round 1 A Theatre Square in the capital city of Berland has a rectangular shape with ...

  5. Codeforces Beta Round #51 D. Beautiful numbers 数位dp + 状态优化

    传送门 文章目录 题意: 思路: 题意: 思路: 数位dpdpdp挺经典的一个题辣,有一个很明显的状态就是f[pos][num][lcm]f[pos][num][lcm]f[pos][num][lcm ...

  6. Codeforces Beta Round #22 (Div. 2 Only) E. Scheme(DFS+强连通)

    题目大意 给了 n(2<=n<=105) 个点,从每个点 u 出发连向了一个点 v(共 n 条边) 现在要求添加最少的边使得整个图是一个强连通图 做法分析 这道题千万不要一般化:先求强连通 ...

  7. Codeforces Beta Round #4 (Div. 2 Only)

    Codeforces Beta Round #4 (Div. 2 Only) A 水题 1 #include<bits/stdc++.h> 2 using namespace std; 3 ...

  8. Codeforces Beta Round #7

    Codeforces Beta Round #7 http://codeforces.com/contest/7 A 水题 1 #include<bits/stdc++.h> 2 usin ...

  9. Codeforces Beta Round #1 A,B,C

    A. Theatre Square time limit per test:1 second memory limit per test:256 megabytes input:standard in ...

最新文章

  1. 160525、高并发之mysql主从复制(linux)
  2. Mac下安装mysql5.7 完整步骤(图文详解)
  3. 如何将FPGA资源平民化?阿里工程师有了新突破
  4. linux 服务端口查询,linux 怎么查看服务和端口
  5. 把双系统的linux删除,双系统删除linux
  6. 让子弹飞,零成本让你的网站更快一点,boxopened http/3 (QUIC) 协议实战
  7. 均匀三次b样条曲线_西门子数控曲线加工进给速度优化指令
  8. wiznote can't networking
  9. DS1302时钟模块介绍及与USRAT HMI通信
  10. IEEE爬取摘要并翻译成中文
  11. 药品零售企业未建立计算机系统,新版GSP药品经营企业计算机系统要求
  12. vivado 如何添加时序约束
  13. 2013, Samara SAU ACM ICPC Quarterfinal Qualification Contest C.Victor‘s Research
  14. 随着新日益增多的技术,如何正确的提升自己?
  15. 如何使用Windows File Recovery工具在 Windows 10 上恢复丢失的文件
  16. tomcat服务器连接数问题解决
  17. CSS3:clip-path详解
  18. C# 实现WinForm窗口最小化到系统托盘代码
  19. idea项目在maven projects中置灰色的解决办法
  20. 万魔手游豆 1MORE × omthing AirFree Buds

热门文章

  1. RabbitMQ入门-环境搭建
  2. MyBatis的修改数据操作
  3. 缓存-SpringCache-自定义缓存配置
  4. SpringBoot_配置-自动配置原理
  5. 在双11大促中的数据库服务器
  6. 使用Log4j - Java异常处理
  7. php递归复制文件内容,PHP递归复制整个文件夹
  8. Robotframework集成jenkins执行用例
  9. Android特效专辑(十二)——仿支付宝咻一咻功能实现波纹扩散特效,精细小巧的View...
  10. YII2操作mongodb笔记