51nod:1265 四点共面(数学)
2017-02-28 20:59
309 查看
1265 四点共面
基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题
收藏
关注
给出三维空间上的四个点(点与点的位置均不相同),判断这4个点是否在同一个平面内(4点共线也算共面)。如果共面,输出"Yes",否则输出"No"。
Input
Output
Input示例
Output示例
Yes
解题思路:四点共面=三个向量共面,想到了补课时候小黄书上的式子:三向量共面的条件是混合积等于0。
混合积公式为:
代码如下:
基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题
收藏
关注
给出三维空间上的四个点(点与点的位置均不相同),判断这4个点是否在同一个平面内(4点共线也算共面)。如果共面,输出"Yes",否则输出"No"。
Input
第1行:一个数T,表示输入的测试数量(1 <= T <= 1000) 第2 - 4T + 1行:每行4行表示一组数据,每行3个数,x, y, z, 表示该点的位置坐标(-1000 <= x, y, z <= 1000)。
Output
输出共T行,如果共面输出"Yes",否则输出"No"。
Input示例
1 1 2 0 2 3 0 4 0 0 0 0 0
Output示例
Yes
解题思路:四点共面=三个向量共面,想到了补课时候小黄书上的式子:三向量共面的条件是混合积等于0。
混合积公式为:
代码如下:
#include <cstdio> int main() { int t; scanf("%d",&t); while(t--) { int x[4],y[4],z[4]; for(int i=0;i<4;i++) { scanf("%d%d%d",&x[i],&y[i],&z[i]); } int r1,r2,r3,r4,r5,r6,r7,r8,r9; r1=x[0]-x[1],r2=y[0]-y[1],r3=z[0]-z[1];//向量1的坐标 r4=x[0]-x[2],r5=y[0]-y[2],r6=z[0]-z[2];//向量2的坐标 r7=x[0]-x[3],r8=y[0]-y[3],r9=z[0]-z[3];//向量3的坐标 int hunheji=r1*r5*r9+r2*r6*r7+r3*r4*r8-r3*r5*r7-r2*r4*r9-r1*r6*r8;//计算混合积 if(hunheji==0) { printf("Yes\n"); } else { printf("No\n"); } } return 0; }
相关文章推荐
- [51NOD] 1265 四点共面 [数学&向量叉积]
- 51Nod 1265 四点共面
- 【51Nod】1265 - 四点共面(行列式 & 数论)
- 51nod 1265 四点共面
- 51Nod - 1265 四点共面 (叉积判断)
- 51Nod 1265 四点共面
- 51nod 1265:四点共面(计算几何)
- 51nod 1265 四点共面(结论)
- 51Nod-1265 四点共面
- 51nod 1265 四点共面(计算几何)
- 51Nod 1265:四点共面(计算几何)
- 51NOD 1265 四点共面
- 51nod 1265 四点共面(3个向量共面的充要条件)
- 51nod 四点共面(数学)
- 51Nod:1265 四点共面
- 51Nod-1265-四点共面
- 51NOD 1265 四点共面(计算几何)
- (几何)51Nod - 1265 四点共面
- 51nod 1265 四点共面
- 51nod 1265 四点共面