您的位置:首页 > 其它

Uva 375 - Inscribed Circles and Isosceles Triangles

2013-03-30 16:22 435 查看
计算几何

看懂题目很重要

我的前两种理解都是错的

只有高线上有不断的圆

并且注意R不能小于eps

所以直接h*PI会大那么一点,,,,

模拟就好了

变化h就可以循环了

最近有点爱用do_while了...

今天用了两次...之前基本没用过=.=

%13lf的写法学习了,是在discuss里面看到的

1WA格式(回车)

1Y

#include<stdio.h>
#include<math.h>
#define PI M_PI
#define eps 0.000001
int main(){
	double b,h;
	int t;
	scanf("%d",&t);
	while(t--){
		double b,h;
		double A;
		scanf("%lf%lf",&b,&h);
		double B=atan( (b/2)/h );
		double R=0,res=0;
		do{
			res+=2*R;
			R=h*sin(B)/(1+sin(B));
			h-=2*R;
			}while(R>eps);
		printf("%13lf\n",PI*res);
		if(t)printf("\n");
		} 
	return 0;
	}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: