我希望你是我独家记忆

一段永远封存的记忆,随风而去
posts - 263, comments - 31, trackbacks - 0, articles - 3
   :: 首页 :: 新随笔 ::  :: 聚合  :: 管理

ZJU——1439——(计算几何)

Posted on 2008-08-29 20:05 Hero 阅读(104) 评论(0)  编辑 收藏 引用 所属分类: 代码如诗--ACM

 

 1 //Accepted ZJU 1439 C++ 00:00.10 404K 
 2 
 3 //内切圆与外切圆半径计算
 4 
 5 #include <stdio.h>
 6 #include <stdlib.h>
 7 #include <string.h>
 8 #include <math.h>
 9 
10 double inp[10] ;
11 double a, b, c ;
12 
13 double fdist( double x1, double y1, double z1, double x2, double y2, double z2 ) 
14 {
15     return sqrt( (x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)+(z1-z2)*(z1-z2) ) ;
16 }
17 
18 double farea3( double a, double b, double c ) 
19 {
20     double p = ( a+b+c ) / 2 ; return sqrt( p*(p-a)*(p-b)*(p-c) ) ;
21 }
22 
23 int main()
24 {
25     while( scanf( "%lf%lf%lf%lf%lf%lf%lf%lf%lf"&inp[1],&inp[2],&inp[3],&inp[4],&inp[5],&inp[6],&inp[7],&inp[8],&inp[9] ) != EOF )
26     {
27         a = fdist( inp[1], inp[2],  inp[3], inp[4], inp[5], inp[6] ) ;
28         b = fdist( inp[1], inp[2],  inp[3], inp[7], inp[8], inp[9] ) ;
29         c = fdist( inp[7], inp[8],  inp[9], inp[4], inp[5], inp[6] ) ;
30 
31         double area = farea3( a, b, c ) ;
32         double r = area * 2 / (a+b+c) ;
33         double R = (a*b*c)/(4*area) ;
34 
35         printf( "%0.3lf\n", (r*r)/(R*R) ) ;
36     }
37 
38     return 0 ;
39 }

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理