判断任两圆的交点和每个圆的圆心即可
#include<iostream> #include<vector> #include<math.h> using namespace std; #define eps 1e-8 const int maxn=105; struct point { double x,y; }; struct circle { point p; double r; }c[maxn]; vector<point>v; 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 intersection(point u1,point u2,point v1,point v2) { point ret=u1; double t=((u1.x-v1.x)*(v1.y-v2.y)-(u1.y-v1.y)*(v1.x-v2.x))/((u1.x-u2.x)*(v1.y-v2.y)-(u1.y-u2.y)*(v1.x-v2.x)); ret.x+=(u2.x-u1.x)*t; ret.y+=(u2.y-u1.y)*t; return ret; } int intersect_circle_circle(point c1,double r1,point c2,double r2) { return dis(c1,c2)<r1+r2+eps&&dis(c1,c2)>fabs(r1-r2)-eps; } void intersection_line_circle(point c,double r,point l1,point l2,point &p1,point &p2) { point p=c; double t; p.x+=l1.y-l2.y; p.y+=l2.x-l1.x; p=intersection(p,c,l1,l2); t=sqrt(r*r-dis(p,c)*dis(p,c))/dis(l1,l2); p1.x=p.x+(l2.x-l1.x)*t; p1.y=p.y+(l2.y-l1.y)*t; p2.x=p.x-(l2.x-l1.x)*t; p2.y=p.x-(l2.y-l1.y)*t; } void intersection_circle_circle(point c1,double r1,point c2,double r2,point &p1,point &p2) { point u,v; double t; t=(1+(r1*r1-r2*r2)/dis(c1,c2)/dis(c1,c2))/2; u.x=c1.x+(c2.x-c1.x)*t; u.y=c1.y+(c2.y-c1.y)*t; v.x=u.x+c1.y-c2.y; v.y=u.y-c1.x+c2.x; intersection_line_circle(c1,r1,u,v,p1,p2); } int main() { int n; while(scanf("%d",&n)!=EOF) { int cnt=0; v.clear(); for(int i=0;i<n;i++) { cin>>c[i].p.x>>c[i].p.y>>c[i].r; v.push_back(c[i].p); } for(int i=0;i<n;i++) for(int j=0;j<i;j++) if(intersect_circle_circle(c[i].p,c[i].r,c[j].p,c[j].r)) { point x,y; intersection_circle_circle(c[i].p, c[i].r, c[j].p, c[j].r, x, y); v.push_back(x);v.push_back(y); } int maxt=-1; for(int i=0;i<v.size();i++) { int cnt=0; for(int j=0;j<n;j++) cnt+=dis(v[i],c[j].p)<c[j].r+eps; maxt=max(cnt,maxt); } cout<<maxt<<endl; } return 0; }
您还没有登录,请您登录后再发表评论
这篇文档"(HDUACM201803版_14)计算几何基础 - 副本_不规则多边形_计算几何基础pptx_"显然是针对参赛者提供的一份关于计算几何基础知识的教程,特别是如何处理不规则多边形的问题。 首先,我们来了解一下计算几何...
6. **三角剖分**:将多边形分解为一系列不相交的三角形,便于进行复杂的几何计算和表面建模。 7. **路径规划**:在几何空间中找到两点间的最短路径,适用于机器人导航和物流配送。 8. **图形绘制与渲染**:利用...
杭电ACM课件2014版之 (HDUACM201403版_08)计算几何基础
一、内容 TT and FF are ... friends. Uh... very very good friends -________-b FF is a bad boy, he is always wooing TT to play the following game with him. This is a very humdrum game....
本教程《hdu acm 教案 计算几何基础》的文件"lecture_05”计算几何基础_20080325.ppt"很可能是对这些概念的深入讲解,包括实例解析和习题解答,对于提升ACM竞赛中的计算几何能力具有很高的参考价值。通过学习和实践...
ACM课件!!(lecture_07)计算几何基础_easy ACM课件!!(lecture_07)计算几何基础_easy hdu acm usa 测试数据 算法
【标题】"HDU_2010.rar"是一个压缩包文件,其中包含了与"HDU 2010"相关的资源,特别是针对"HDU ACM20"比赛的编程题目。"hdu 2010"和"hdu 20"可能是该比赛的不同简称或分类,而"hdu acm20"可能指的是该赛事的第20届...
HDU(杭州电子科技大学在线评测系统)是一个深受程序员喜爱的在线编程练习平台,它提供了丰富的算法题目供用户挑战,帮助他们提升编程技能和算法理解能力。"hdu.rar_hdu"这个压缩包文件很可能是某位程序员整理的他在...
(lecture_05)计算几何基础_ (lecture_06)母函数 (lecture_7)特殊的数 (lecture_8)组合博弈入门 (lecture_09贪心算法 (lecture_11)搜索入门 (lecture_12)二分匹配及其应用 (lecture_13)动态规划(2) 并...
【标题】"HDU题目java实现"所涉及的知识点主要集中在使用Java编程语言解决杭州电子科技大学(HDU)在线评测系统中的算法问题。HDU是一个知名的在线编程竞赛平台,它提供了大量的算法题目供参赛者练习和提交解决方案...
【标题】"hdu.rar_HDU 1089.cpp_OJ题求和_hdu_horsekw5_杭电obj" 提供的信息是关于一个压缩文件,其中包含了一个名为 "HDU 1089.cpp" 的源代码文件,这个文件是为了解决杭州电子科技大学(Hangzhou Dianzi ...
### hdu1250高精度加法 #### 背景介绍 在计算机科学与编程竞赛中,处理大整数运算(特别是加法、减法、乘法等)是常见的需求之一。当数字的位数超过了标准数据类型(如`int`、`long`等)所能表示的最大值时,就需要...
动态规划通常用于优化多阶段决策过程,通过将问题分解为更小的子问题并存储子问题的解来避免重复计算,从而提高效率。 【描述】提到的"HDU的一题"可能是指HDU(杭州电子科技大学)在线判题系统中的一道动态规划题目...
ACM HDU 题目分类 ACM HDU 题目分类是指对 HDU 在线判题系统中题目的分类,总结了大约十来个分类。这些分类将有助于编程选手更好地理解和解决问题。 DP 问题 DP(Dynamic Programming,动态规划)是一种非常重要...
HDU1059的代码
hdu1001解题报告
### hdu1290解题报告 #### 题目背景与意义 此题作为对杭州电子科技大学五十周年校庆的献礼,通过一道趣味性的数学问题来庆祝这一重要时刻。题目背景设置在一个充满想象力的情境下,即如何通过不同数量的切刀将一个...
hdu 1574 passed sorce
例如,"zscas060102"可能是一道关于计算几何或图论的题目,源代码可能会涉及到线段树、优先队列等高级数据结构,以及动态规划或回溯搜索等算法。"yfndq2"可能是一个字符串处理或模式匹配的问题,可能用到了KMP、...
这个教程深入浅出地介绍了计算几何的基础概念,对于学习者来说,理解并熟练掌握这些基础知识是进一步探索计算几何领域和解决实际问题的关键。通过不断地实践和思考,学生可以增强自己的算法设计能力,为在ACM竞赛中...
相关推荐
这篇文档"(HDUACM201803版_14)计算几何基础 - 副本_不规则多边形_计算几何基础pptx_"显然是针对参赛者提供的一份关于计算几何基础知识的教程,特别是如何处理不规则多边形的问题。 首先,我们来了解一下计算几何...
6. **三角剖分**:将多边形分解为一系列不相交的三角形,便于进行复杂的几何计算和表面建模。 7. **路径规划**:在几何空间中找到两点间的最短路径,适用于机器人导航和物流配送。 8. **图形绘制与渲染**:利用...
杭电ACM课件2014版之 (HDUACM201403版_08)计算几何基础
一、内容 TT and FF are ... friends. Uh... very very good friends -________-b FF is a bad boy, he is always wooing TT to play the following game with him. This is a very humdrum game....
本教程《hdu acm 教案 计算几何基础》的文件"lecture_05”计算几何基础_20080325.ppt"很可能是对这些概念的深入讲解,包括实例解析和习题解答,对于提升ACM竞赛中的计算几何能力具有很高的参考价值。通过学习和实践...
ACM课件!!(lecture_07)计算几何基础_easy ACM课件!!(lecture_07)计算几何基础_easy hdu acm usa 测试数据 算法
【标题】"HDU_2010.rar"是一个压缩包文件,其中包含了与"HDU 2010"相关的资源,特别是针对"HDU ACM20"比赛的编程题目。"hdu 2010"和"hdu 20"可能是该比赛的不同简称或分类,而"hdu acm20"可能指的是该赛事的第20届...
HDU(杭州电子科技大学在线评测系统)是一个深受程序员喜爱的在线编程练习平台,它提供了丰富的算法题目供用户挑战,帮助他们提升编程技能和算法理解能力。"hdu.rar_hdu"这个压缩包文件很可能是某位程序员整理的他在...
(lecture_05)计算几何基础_ (lecture_06)母函数 (lecture_7)特殊的数 (lecture_8)组合博弈入门 (lecture_09贪心算法 (lecture_11)搜索入门 (lecture_12)二分匹配及其应用 (lecture_13)动态规划(2) 并...
【标题】"HDU题目java实现"所涉及的知识点主要集中在使用Java编程语言解决杭州电子科技大学(HDU)在线评测系统中的算法问题。HDU是一个知名的在线编程竞赛平台,它提供了大量的算法题目供参赛者练习和提交解决方案...
【标题】"hdu.rar_HDU 1089.cpp_OJ题求和_hdu_horsekw5_杭电obj" 提供的信息是关于一个压缩文件,其中包含了一个名为 "HDU 1089.cpp" 的源代码文件,这个文件是为了解决杭州电子科技大学(Hangzhou Dianzi ...
### hdu1250高精度加法 #### 背景介绍 在计算机科学与编程竞赛中,处理大整数运算(特别是加法、减法、乘法等)是常见的需求之一。当数字的位数超过了标准数据类型(如`int`、`long`等)所能表示的最大值时,就需要...
动态规划通常用于优化多阶段决策过程,通过将问题分解为更小的子问题并存储子问题的解来避免重复计算,从而提高效率。 【描述】提到的"HDU的一题"可能是指HDU(杭州电子科技大学)在线判题系统中的一道动态规划题目...
ACM HDU 题目分类 ACM HDU 题目分类是指对 HDU 在线判题系统中题目的分类,总结了大约十来个分类。这些分类将有助于编程选手更好地理解和解决问题。 DP 问题 DP(Dynamic Programming,动态规划)是一种非常重要...
HDU1059的代码
hdu1001解题报告
### hdu1290解题报告 #### 题目背景与意义 此题作为对杭州电子科技大学五十周年校庆的献礼,通过一道趣味性的数学问题来庆祝这一重要时刻。题目背景设置在一个充满想象力的情境下,即如何通过不同数量的切刀将一个...
hdu 1574 passed sorce
例如,"zscas060102"可能是一道关于计算几何或图论的题目,源代码可能会涉及到线段树、优先队列等高级数据结构,以及动态规划或回溯搜索等算法。"yfndq2"可能是一个字符串处理或模式匹配的问题,可能用到了KMP、...
这个教程深入浅出地介绍了计算几何的基础概念,对于学习者来说,理解并熟练掌握这些基础知识是进一步探索计算几何领域和解决实际问题的关键。通过不断地实践和思考,学生可以增强自己的算法设计能力,为在ACM竞赛中...