HDU3264 Open-air shopping malls
来源:互联网 发布:c语言基本 编辑:程序博客网 时间:2024/05/21 02:53
http://acm.hdu.edu.cn/showproblem.php?pid=3264
09宁波
计算几何。计算半个圆面积是需要推一下。
#include <cstdio>#include <cstring>#include <cmath>#include <map>#include <set>#include <vector>#include <iostream>#include <cstdlib>#include <algorithm>#include <string>#include <queue>#include <time.h>#include <list>#include <stack>using namespace std;const double eps=1e-6;const long long INF=(1<<30)-1;const double pi=3.1415926535897932384626433;#define N 25#define M 1000000000struct circ{ double x,y,r;}c[N];int n;double dist(struct circ p,struct circ q){ return sqrt((p.x-q.x)*(p.x-q.x)+(p.y-q.y)*(p.y-q.y));}double arccos(double s){ if (fabs(s-1)<eps) return 0; else return acos(s);}double disR(int p,int q){ double s=dist(c[p],c[q]); double t=s+c[q].r; double r=c[q].r; double sc=pi*r*r; sc/=2.0; double R,d=s,ss; while (fabs(t-s)>eps) { R=(s+t)/2.0; double thi=arccos( (d*d+r*r-R*R)/(2*d*r) ); double thi2=arccos( (d*d+R*R-r*r)/(2*d*R) ); ss=r*r*thi+R*R*thi2-d*r*sin(thi); //cout<<R<<"*************"<<r<<endl; //cout<<thi<<' '<<thi2<<' '<<ss<<endl; if (ss>sc) t=R; else s=R; } return R;}int main(){ //freopen("a","r",stdin); int T,kk,i,j,x,y,r1,k; scanf("%d",&T); for (kk=1;kk<=T;kk++) { scanf("%d",&n); for (i=1;i<=n;i++) { scanf("%d%d%d",&x,&y,&r1); c[i].x=x; c[i].y=y; c[i].r=r1; } if (n==1) { printf("%.4f\n",c[1].r/sqrt(2)); continue; } double min=100000,d,r; for (i=1;i<=n;i++) { double max=-1; for (j=1;j<=n;j++) if (j!=i) { double ans=disR(i,j); if (ans>max) max=ans; } if (max<min) min=max; } printf("%.4f\n",min); } return 0;}
- HDU3264 Open-air shopping malls
- HDU3264 Open-air shopping malls【几何】
- HDU3264 Open-air shopping malls (圆交+二分)
- 【poj3831】Open-air shopping malls
- hdu3264 Open-air shopping malls(二分求最小半径覆盖所有圆的至少一半的面积)
- HDU 3264 - Open-air shopping malls
- UVA 4757 Open-air shopping malls
- poj 3831 Open-air shopping malls
- POJ 3831 Open-air shopping malls
- HDU 3264 Open-air shopping malls
- HDOJ 3264 Open-air shopping malls
- HDU 3264 Open-air shopping malls
- HDU--3264[Open-air shopping malls] 枚举圆心+二分半径
- hdu 3264 Open-air shopping malls 计算几何
- HDU 3264——Open-air shopping malls
- hdu 3264 Open-air shopping malls 求两圆相交
- POJ 3831 & HDU 3264 Open-air shopping malls(几何)
- HDU 3264 Open-air shopping malls(二分+圆交)
- 利用Python实现基于PCA算法的人脸识别
- 求出100以内的素数,并将这些书在屏幕上5个一行地显示出来。
- C++中的static关键字
- Struts2 自定义拦截器(方法拦截器)
- vector小结
- HDU3264 Open-air shopping malls
- 简单工厂模式--Factory
- 11 java 王少飞-Servlet的应用
- Service与Android系统设计(3)-- ActivityManager的实现
- 再来一道概率题
- 查询清除SQL Server数据库备份还原历史记录
- 章五.Windows内存管理(中)
- NavMesh,关于导航网格的创建
- Servlet初步认识