您的位置:首页 > 其它

HDU 1411 校庆神秘建筑(欧拉四面体公式)

2016-04-23 17:13 423 查看

校庆神秘建筑

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)

Total Submission(s): 2069    Accepted Submission(s): 688


[align=left]Problem Description[/align]
杭州电子科技大学即将迎来50周年的校庆,作为校庆委员会成员的我被上级要求设计一座神秘的建筑物来迎合校庆,因此我苦思冥想了一个月,终于设计出了一套方案,这座建筑物有点象古老埃及的金字塔,不过这个神秘建筑的根基是三角形的而不是矩形的,从数学的专业角度来讲,它是四面体。当我打算上交我的设计图纸的时候发现,我不知道怎么计算这个神秘建筑的体积(我知道这座建筑的各边的尺寸),于是我找来了聪明的你来帮助我解决这个难题。
 

[align=left]Input[/align]
输入文件包含6个不超过1000的实数,每个数之间用空格隔开。每个数代表金字塔ABCD的一条棱边长度,棱边排序如下:AB,AC,AD,BC,BD,CD。

 

[align=left]Output[/align]
输出数据应是一个实数,表示金字塔的体积,精确到4位小数。
 

[align=left]Sample Input[/align]

2 2 2 2 2 2

 

[align=left]Sample Output[/align]

0.9428

 

[align=left]Author[/align]
Eddy
 

[align=left]Source[/align]
HDU 2006-5 Programming Contest

 

[align=left]Recommend[/align]
lxj   |   We have carefully selected several similar problems for you:  1402 1406 1180 1410 1559 
欧拉四面体公式,按公式套,注意输入边的顺序。
#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<math.h>
using namespace std;
int main()
{
double p,q,r,l,m,n;
while(scanf("%lf%lf%lf%lf%lf%lf",&n,&m,&p,&l,&q,&r)!=EOF)
{
double sum=0;
sum+=p*p*(q*q*r*r-(q*q+r*r-l*l)/2*((q*q+r*r-l*l)/2));
sum-=(p*p+q*q-n*n)/2*((p*p+q*q-n*n)/2*r*r-(q*q+r*r-l*l)/2*((p*p+r*r-m*m)/2));
sum+=(p*p+r*r-m*m)/2*((p*p+q*q-n*n)*(q*q+r*r-l*l)/4-q*q*(p*p+r*r-m*m)/2);
sum=sum/36;
sum=sqrt(sum);
printf("%.4lf\n",sum);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: