UVa 10589 - Area
来源:互联网 发布:js 多时区夏令时切换 编辑:程序博客网 时间:2024/06/14 23:25
题目:给你n个点和一个正方形,问落在以正方形四个顶点为圆心、边长为半径的圆相交的面积,面积公式:a*a*M/N,其中M是落在相交区域中点的个数。
分析:简单题、计算几何。利用已知点到矩形死歌顶点的距离判断位置关系,统计即可。
#include <stdio.h>#include <stdlib.h>#include <math.h>typedef struct pnode{double x,y;pnode( double a, double b ){x = a;y = b;}pnode(){}}point;double dist( point a, point b ){return sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y));}int in( point p, double a ){double d[4][2] = {0.0,0.0,1.0,0.0,0.0,1.0,1.0,1.0};for ( int i = 0 ; i < 4 ; ++ i ) {point q = point( a*d[i][0], a*d[i][1] );if ( dist( p, q ) > a ) return 0;}return 1;}int main(){int n,a;point p;while ( scanf("%d%d",&n,&a) && n ) {int count = 0;for ( int i = 0 ; i < n ; ++ i ) {scanf("%lf%lf",&p.x,&p.y);count += in( p, a+0.0 );}printf("%.5lf\n",1.0*count*a*a/n);}return 0;}
- UVa 10589 - Area
- UVA 1641 - ASCII Area
- UVa 1641 - ASCII Area
- UVa 1641 - ASCII Area
- UVA 12931 Common Area
- UVa 1641 ASCII Area
- ASCII Area UVA
- UVA 10522 Height to Area
- UVa 10522 - Height to Area
- UVa 10522 - Height to Area
- UVa 10522 - Height to Area
- UVA 1641(p337)----ASCII Area
- UVa 1641 - ASCII Area(统计)
- UVA 1641 POJ 4022 ASCII Area
- UVA 10522 - Height to Area(计算几何)
- uva 10522 - Height to Area(几何)
- uva 1641 Ascii Area 多边形面积
- Area
- 读 Beginning Android Games 2nd Edition (一) 创建读取文件IO的工具类
- Windows Server 2003远程桌面突破2用户限制
- 【木头Cocos2d-x 025】状态机篇(第04章) --事件驱动,你想象不到的强大
- oracle常用语句整理
- 百度Web前端笔试和面试
- UVa 10589 - Area
- blocks 学习
- iphone开发 图片选择 处理 上传
- Linux 环境进程间通信(六):套接口
- termios 详解
- 源IP、MAC和目的IP、MAC
- jQuery 表单验证
- UML类图关系(泛化 、继承、实现、依赖、关联、聚合、组合)
- [分享] 分享 cdma iphone4 OTA后,读取写号教程!