我本来的想法求这个三角形的外心~~ 可以得到三条边对应圆心角   则这个正多边形的一条边对应的圆心角 应可以整除这三个角

但是一开始 没想到暴力枚举边数n,  还用模板求圆心坐标  然后求圆心角   导致误差比较大   实际上圆心角是圆周角的两倍 ~~~ 初中知识   只要求三角形的三个内角就可以

然后暴力枚举~~~~

#include <iostream>
#include <cstdio>
#include <cmath>
#define esp 1e-7
using namespace std;
const double pi = acos(-1.0);
struct Point
{
double x;
double y;
};
double Dis(Point p, Point q)
{
double dx=p.x-q.x;
double dy=p.y-q.y;
return sqrt(dx*dx+dy*dy);
}
double getangle(Point a, Point b, Point c)
{
double d1 = Dis(a, b), d2 = Dis(a, c), d3 = Dis(b, c);
return (d1*d1 + d2*d2 - d3*d3)/(2*d1*d2);
}
int main()
{
Point p[3];
while(scanf("%lf%lf%lf%lf%lf%lf",&p[0].x,&p[0].y,&p[1].x,&p[1].y,&p[2].x,&p[2].y) == 6)
{
double ans1,ans2,ans3;
ans1 = acos(getangle(p[0], p[1], p[2]));
ans2 = acos(getangle(p[0], p[2], p[1]));
ans3 = acos(getangle(p[2], p[1], p[0]));
for(int i = 3; i <= 1000; i++)
{
if(fabs(ans1*i/pi - (int)(ans1*i/pi+esp)) < esp && fabs(ans3*i/pi - (int)(ans3*i/pi+esp)) < esp && fabs(ans2*i/pi - (int)(ans2*i/pi+esp)) < esp)
{
printf("%d\n",i);
break;
}
}
}
return 0;
}

hdu 4195的更多相关文章

  1. HDU 4195 Regular Convex Polygon

    思路:三角形的圆心角可以整除(2*pi)/n #include<cstdio> #include<cstring> #include<iostream> #incl ...

  2. HDOJ 2111. Saving HDU 贪心 结构体排序

    Saving HDU Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  3. 【HDU 3037】Saving Beans Lucas定理模板

    http://acm.hdu.edu.cn/showproblem.php?pid=3037 Lucas定理模板. 现在才写,noip滚粗前兆QAQ #include<cstdio> #i ...

  4. hdu 4859 海岸线 Bestcoder Round 1

    http://acm.hdu.edu.cn/showproblem.php?pid=4859 题目大意: 在一个矩形周围都是海,这个矩形中有陆地,深海和浅海.浅海是可以填成陆地的. 求最多有多少条方格 ...

  5. HDU 4569 Special equations(取模)

    Special equations Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u S ...

  6. HDU 4006The kth great number(K大数 +小顶堆)

    The kth great number Time Limit:1000MS     Memory Limit:65768KB     64bit IO Format:%I64d & %I64 ...

  7. HDU 1796How many integers can you find(容斥原理)

    How many integers can you find Time Limit:5000MS     Memory Limit:32768KB     64bit IO Format:%I64d ...

  8. hdu 4481 Time travel(高斯求期望)(转)

    (转)http://blog.csdn.net/u013081425/article/details/39240021 http://acm.hdu.edu.cn/showproblem.php?pi ...

  9. HDU 3791二叉搜索树解题(解题报告)

    1.题目地址: http://acm.hdu.edu.cn/showproblem.php?pid=3791 2.参考解题 http://blog.csdn.net/u013447865/articl ...

随机推荐

  1. Android 如何监听返回键,弹出一个退出对话框

    android 如何监听返回键点击事件,并创建一个退出对话框, 防止自己写的应用程序不小心点击退出键而直接退出.自己记录下这个简单的demo,备用. public class BackKeyTest ...

  2. 初识 AutoLayout

    一.使用"公式": 1.frame: 原点以及自身的位置来确定自身的位置 2.autoLayout: 根据参照视图的位置  来定义自己的位置 3.autoLayout: 相对布局  ...

  3. signal信号类型列表

    Linux支持的信号列表如下.很多信号是与机器的体系结构相关的 信号值 默认处理动作 发出信号的原因 SIGHUP 1 A 终端挂起或者控制进程终止 SIGINT 2 A 键盘中断(如break键被按 ...

  4. Oracle + Entity Framework 更新没有设置主键的表

    最近用Entity Framework 开发的时候,发现一个问题,在默认情况下,EF不能对一个没有主键的表进行更新.插入和删除的动作. 那么,应该怎么处理没有主键的表呢? 我们打开这个表的edmx文件 ...

  5. Linux 查看系统版本及位数

    1. 查看内核版本命令: 1) [root@www ~]# cat /proc/version    Linux version 2.6.9-22.ELsmp (bhcompile@crowe.dev ...

  6. ArrayList和Array之间的转换

    ArrayList转Array (1):使用ArrayList的toArray方法.     1)当ArrayList中存放的是引用类型时(例如String),成功     /**      * 使用 ...

  7. C++ 的template

    vector的标准模板是:template<template<typename X, class allocator<X> > class T>而普通模板则是tem ...

  8. The C in C++

    1 unnamed arguments in the argument list of the function definition (Page 114) In c++, an argument m ...

  9. Apache 编译安装

    # wget http://www.apache.org/dist/httpd/httpd-2.2.9.tar.gz  (此处我是直接用的下载好的包) # tar -zxvf httpd-2.2.9. ...

  10. Jquery 禁用 a 标签 onclick 事件30秒后可用

    <a href="javascript:;" id="sendToTel" >发送短信</a> <script type=&quo ...