POJ 2208 已知边四面体六个长度,计算体积
2015-07-27 17:38
309 查看
Pyramids
Description
Recently in Farland, a country in Asia, a famous scientist Mr. Log Archeo has discovered ancient pyramids. But unlike those in Egypt and Central America, they have triangular (not rectangular) foundation. That is, they are tetrahedrons
in mathematical sense. In order to find out some important facts about the early society of the country (it is widely believed that the pyramid sizes are in tight connection with Farland ancient calendar), Mr. Archeo needs to know the volume of the pyramids.
Unluckily, he has reliable data about their edge lengths only. Please, help him!
Input
The file contains six positive integer numbers not exceeding 1000 separated by spaces, each number is one of the edge lengths of the pyramid ABCD. The order of the edges is the following: AB, AC, AD, BC, BD, CD.
Output
A real number -- the volume printed accurate to four digits after decimal point.
Sample Input
Sample Output
依据边来求出四面体的高,然后公式计算。
代码:
Time Limit: 1000MS | Memory Limit: 65536K | |||
Total Submissions: 2718 | Accepted: 886 | Special Judge |
Recently in Farland, a country in Asia, a famous scientist Mr. Log Archeo has discovered ancient pyramids. But unlike those in Egypt and Central America, they have triangular (not rectangular) foundation. That is, they are tetrahedrons
in mathematical sense. In order to find out some important facts about the early society of the country (it is widely believed that the pyramid sizes are in tight connection with Farland ancient calendar), Mr. Archeo needs to know the volume of the pyramids.
Unluckily, he has reliable data about their edge lengths only. Please, help him!
Input
The file contains six positive integer numbers not exceeding 1000 separated by spaces, each number is one of the edge lengths of the pyramid ABCD. The order of the edges is the following: AB, AC, AD, BC, BD, CD.
Output
A real number -- the volume printed accurate to four digits after decimal point.
Sample Input
1000 1000 1000 3 4 5
Sample Output
依据边来求出四面体的高,然后公式计算。
代码:
/* *********************************************** Author :_rabbit Created Time :2014/5/9 21:32:01 File Name :5.cpp ************************************************ */ #pragma comment(linker, "/STACK:102400000,102400000") #include <stdio.h> #include <iostream> #include <algorithm> #include <sstream> #include <stdlib.h> #include <string.h> #include <limits.h> #include <string> #include <time.h> #include <math.h> #include <queue> #include <stack> #include <set> #include <map> using namespace std; #define INF 0x3f3f3f3f #define eps 1e-8 #define pi acos(-1.0) typedef long long ll; double volume(double a,double b,double c,double d,double e,double f){ double a2=a*a,b2=b*b,c2=c*c,d2=d*d,e2=e*e,f2=f*f; double tr1=acos((c2+b2-f2)/(2*b*c)); double tr2=acos((a2+c2-e2)/(2*a*c)); double tr3=acos((a2+b2-d2)/(2*a*b)); double tr4=(tr1+tr2+tr3)/2; double temp=sqrt(sin(tr4)*sin(tr4-tr1)*sin(tr4-tr2)*sin(tr4-tr3)); return a*b*c*temp/3; } int main() { //freopen("data.in","r",stdin); //freopen("data.out","w",stdout); double a,b,c,d,e,f; while(cin>>a>>b>>c>>d>>e>>f)printf("%.4f\n",volume(a,b,c,d,e,f)); return 0; }
相关文章推荐
- jstl 判断字符串是否为空C标签 <c:if>判断参数是否为空
- Cocos2d-x创建和转换场景学习笔记 分类: cocos2d代码编写 2015-07-27 17:38 8人阅读 评论(0) 收藏
- 报错处理
- 3、C/C++中的const专题
- HTML5 格式化方式以及应用
- poj 2452 Sticks Problem
- android app系统签名以及adb安装卸载等简单命令使用
- B - Build The Electric System --- (fisrt qualifying)
- Angular简要概述一些概念
- 课程笔记 15:数据结构(清华) 图
- [书目20150727]有效沟通-余世维
- sql 时间处理
- tshark (wireshark)笔记
- 基于CSS3动态背景登录框代码
- NYOJ 483 Nightmare(bfs)
- 无法安装net framework 3.5 的解决方法
- offsetof与container_of宏(个人理解)
- Dialog的多种使用
- 【图论】【二分图匹配】[ZOJ 1654]Place the Robots
- SAP HANA 高可用性 (High Availability) 解决方案 (二) - Host Auto-Failover, 节点失效自动切换