poj 1981(单位圆覆盖点)
题意:一个单位圆最多能覆盖平面上多少点。
解题思路:一个覆盖最多点的圆,必然至少有两个点在圆上。枚举两个点,求过这两个点的单位圆,判断有多少个点在圆中,枚举N^2,判断N
参考博客:http://www.cnblogs.com/-sunshine/archive/2012/10/11/2719859.html
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
using namespace std;const int maxn = 305;
const double eps = 1e-8;
struct Point
{double x,y;Point(){}Point(double _x,double _y){x = _x, y = _y;}
}p[maxn];
int n;double dis(Point p1,Point p2)
{return sqrt((p1.x - p2.x) * (p1.x - p2.x) + (p1.y - p2.y) * (p1.y - p2.y));
}Point get_circle(Point p1,Point p2)
{Point mid = Point((p1.x+p2.x)/2,(p1.y+p2.y)/2);double angle = atan2(p1.x-p2.x,p2.y-p1.y);double d = sqrt(1-dis(p1,mid)*dis(p1,mid));return Point(mid.x+d*cos(angle),mid.y+d*sin(angle));
}int main()
{while(scanf("%d",&n),n){for(int i = 0; i < n; i++)scanf("%lf%lf",&p[i].x,&p[i].y);int ans = 1;for(int i = 0;i < n; i++){for(int j = i + 1; j < n; j++){if(dis(p[i],p[j]) > 2.0) continue;Point central = get_circle(p[i],p[j]);int cnt = 0;for(int k = 0;k < n; k++)if(dis(central,p[k]) < 1.0 + eps)cnt++;ans=max(ans,cnt);}}printf("%d\n",ans);}return 0;
}
poj 1981(单位圆覆盖点)相关推荐
- Circle and Points POJ - 1981(单位圆覆盖最多点)
题意: 给你n个点和点的位置,问单位圆最多能覆盖多少个点. 题目: You are given N points in the xy-plane. You have a circle of radiu ...
- POJ 计算几何入门题目推荐
其实也谈不上推荐,只是自己做过的题目而已,甚至有的题目尚未AC,让在挣扎中.之所以推荐计算几何题,是因为,本人感觉ACM各种算法中计算几何算是比较实际的算法,在很多领域有着重要的用途(例如本人的专 ...
- [Z]POJ 计算几何入门题目推荐[转PKKJ]
http://www.cnblogs.com/eric-blog/archive/2011/05/31/2064785.html http://hi.baidu.com/novosbirsk/blog ...
- poj计算几何题推荐
POJ 计算几何入门题目推荐(转) 其实也谈不上推荐,只是自己做过的题目而已,甚至有的题目尚未AC,让在挣扎中.之所以推荐计算几何题,是因为,本人感觉ACM各种算法中计算几何算是比较实际的 ...
- poj 计算几何 分类
转自novosbirsk的空间,上面还有很多有用的东西. 计算几何题的特点与做题要领: 1.大部分不会很难,少部分题目思路很巧妙 2.做计算几何题目,模板很重要,模板必须高度可靠. 3.要注意代码的组 ...
- POJ 计算几何入门题目推荐(转)
POJ 计算几何入门题目推荐(转) 其实也谈不上推荐,只是自己做过的题目而已,甚至有的题目尚未AC,让在挣扎中.之所以推荐计算几何题,是因为,本人感觉ACM各种算法中计算几何算是比较实际的 ...
- ACM计算几何题目推荐
//第一期 计算几何题的特点与做题要领: 1.大部分不会很难,少部分题目思路很巧妙 2.做计算几何题目,模板很重要,模板必须高度可靠. 3.要注意代码的组织,因为计算几何的题目很容易上两百行代码,里面 ...
- 备战ccpc分站赛:秦皇岛和威海站(数论模块和dp模块)
挑战程序设计竞赛(第2版)练习题 tips:难度(个人主观判断): 简单* 简单但卡思维 ** 中 *** 中稍加思考 **** 难 ***** 1 . 记录结果再利用的"动态规划" ...
- 计算几何相关资料+题目推荐(不定期补充)
旋转卡壳:http://blog.csdn.net/accry/article/details/6070626 计算几何题目推荐:http://blog.csdn.net/accry/article/ ...
最新文章
- 使用Dockerfile定制镜像来部署Tomcat项目
- DCMTK:测试ConcatenationCreator类
- 配置WCF同时支持WSDL和REST,swaggerwcf生成文档
- 巧用异或运算符(洛谷P1161题题解,Java语言描述)
- java执行多次post请求_同样的post请求代码在Java和android中执行结果不同。
- MetadataCache分析
- Springboot 使用校验框架validation校验
- 中国加热棒行业市场供需与战略研究报告
- 第八届蓝桥杯java b组第十题
- python requests session_Python requests模块session代码实例
- ThinkPHP---案例1登录登出和添加部门
- 面向对象---大纲笔记
- 埃默里大学计算机值得读吗,埃默里大学计算机科学-生物统计学硕士研究生怎么样?好不好...
- Enterprise Architect使用教程
- Ckeditor5 整合Ckfinder3 防出错实战教程(二)整合篇
- 计算机启动相机代码,如何在win7系统中启动相机
- 最基本的几种 CSS 文字滤镜效果 - 蓝色理想
- 揭密备份恢复的原理!
- 2、SpringBoot接口Http协议开发实战8节课(7-8)
- 我的创业你也可以复制:财务做账中常见的问题