hdu 1077 意思懂,没思路,借用大牛的思想
来源:互联网 发布:淘宝卖家返钱 编辑:程序博客网 时间:2024/04/29 14:45
大牛的这么认为,给定两个点,如里它们的距离大于直径,不必考虑,否则,认为这两个点在某一圆上,计算出圆心坐标,依次遍历顶点,记录在这个圆里面的点,这个值就是我们要进行判定的值。。。
#include <iostream>#include <cmath>#include <cstdio>using namespace std;const static double eps = 1e-6;struct Point{double x,y;};double distancess(Point a,Point b){return (a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y);}Point look_center(Point a,Point b){Point aa,bb,mid;aa.x = b.x-a.x;aa.y = b.y-a.y;mid.x = (a.x+b.x)/2.0;mid.y = (a.y+b.y)/2.0;double dist = distancess(a,mid);double c = sqrt(1.0-dist);if(fabs(aa.y)<eps){bb.x = mid.x;bb.y = mid.y+c;}else{double ang = atan(-aa.x/aa.y);bb.x = mid.x + c*cos(ang);bb.y = mid.y + c*sin(ang);}return bb;}int main(){int test;Point p[305],a,b,c;int n;scanf("%d",&test);while(test--){scanf("%d",&n);for(int i=0; i<n;i++)scanf("%lf%lf",&p[i].x,&p[i].y);int ans = 1;int temp = 0;for(int i=0; i<n; i++)for(int j=i+1;j<n;j++){ if(distancess(p[i],p[j])>4) continue;a = look_center(p[i],p[j]);temp = 0;for(int k=0;k<n;k++){if(distancess(a,p[k])<=1.000001) temp++;}if(ans<temp) ans = temp;}printf("%d\n",ans);}return 0;}
- hdu 1077 意思懂,没思路,借用大牛的思想
- 一直的没思想
- hdu-2205(没做出来,意思理解错了)
- shark没啥意思!
- ASP.NET 特殊字符的意思(没完善)
- IBATIS的思想,不同的实现思路
- 台球这个东西不写了,没大意思,最近很打不起精神
- 借用UGC歌单的思路,手绘风格的Posse让你可以自建街道,收录一系列商铺
- 大数据的核心思想
- 编程困难没思路
- 给初学编程解题没思路的学生的建议
- 关于FLV视频没缓冲拖动的思路
- 古老的隐藏rootkit思路,XT还没检测
- 弄个简单的权限 没点思路啊 郁闷
- 有思想的大脑,没灵性的AI
- 有思想的大脑,没灵性的AI
- hdu 3873+DIJ的思想
- 身份证上的号码代表的意思大揭秘
- IM方案
- ddl删除控制
- Virtual 知多少
- X61T L7500割脉超频成功!
- 通过Python领悟闭包的奥秘 - [Python]
- hdu 1077 意思懂,没思路,借用大牛的思想
- 基础排序算法
- 记事
- visual formatting model details简译 <四> 之 文本行的高度
- 下载chrome os中内置的50张高清壁纸
- 男子欠网费240元6年 联通索取1.2万元违约金
- 除去字符串中的Html元素标签
- 便签
- Pro.Mini2440-GPIO接口