分析

发现自己并不会计算几何。

所以先引用一下这位dalao的博客

二维平面四个点求凸包面积->任选三个点面积之和/2
三维平面五个点求凸包体积->任选四个点体积之和/2 二维平面三个点面积->二个二维向量行列式值的绝对值/2
三维平面四个点体积->三个三维向量行列式值的绝对值/6

代码

#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cmath>
#include <cctype>
#include <algorithm>
#define rin(i,a,b) for(int i=(a);i<=(b);i++)
#define rec(i,a,b) for(int i=(a);i>=(b);i--)
#define trav(i,a) for(int i=head[(a)];i;i=e[i].nxt)
using std::cin;
using std::cout;
using std::endl;
typedef long long LL; struct Vector{
LL x,y,z;
friend Vector operator - (Vector x,Vector y){
return (Vector){x.x-y.x,x.y-y.y,x.z-y.z};
}
}a[6];
double ans; inline double solve(Vector v1,Vector v2,Vector v3){
return fabs(1.0*v1.x*v2.y*v3.z
-v1.x*v2.z*v3.y
+v1.y*v2.z*v3.x
-v1.y*v2.x*v3.z
+v1.z*v2.x*v3.y
-v1.z*v2.y*v3.x)/6;
} int main(){
rin(i,1,5) scanf("%lld%lld%lld",&a[i].x,&a[i].y,&a[i].z);
rin(i,1,2) rin(j,i+1,3) rin(k,j+1,4) rin(l,k+1,5)
ans+=solve(a[i]-a[l],a[j]-a[l],a[k]-a[l]);
ans/=2.0;
printf("%.2lf\n",ans);
return 0;
}

最新文章

  1. NET 自带IOC容器MEF指初体验
  2. android.view.InflateException: Binary XML file line #34: Error inflating class
  3. ArcGIS发布服务时缓存切片设置
  4. 去掉table中的空隙
  5. 关键词提取1-C#
  6. 解决英文或数字在HTMl网页中不自动换行。
  7. UVA 658 It&#39;s not a Bug, it&#39;s a Feature!
  8. 利用京东云擎架设免费Wordpress 博客(git方式)
  9. 实现基于Memcache存储的Session类
  10. 【每天一个Linux命令】13. Linux中whereis命令的用法
  11. 添加swagger api文档到node服务
  12. MVC的开发模式简单介绍
  13. Cs231n课堂内容记录-Lecture 3 最优化
  14. JMS消息队列之ActiveMQ简单示例
  15. importlib模块
  16. java去除html代码中含有的html、js、css标签,获取文字内容
  17. [Python]Marshmallow 代码
  18. OS + CentOS 7 / centos 7 / VirtualBox /vegrant
  19. python02
  20. 如何使用KVM 虚拟机安装RHEL7系统

热门文章

  1. Git push “fatal: Authentication failed ”
  2. 个人推荐的两款vue导出EXCEL插件
  3. 【LGR-063】洛谷11月月赛 I &amp; MtOI2019 Ex Div.2
  4. HNUSTOJ-1051 最长的波动序列
  5. 一:jvm的五大内存区(内存结构)
  6. django2.0变动数据库设置外键报错
  7. HTML DOM中的comfirm()确认对话框
  8. BrokenPipeError: [Errno 32] Broken pipe
  9. 自定义UICollectionLayout
  10. Windows Neovim