• 51nod 1265 四点共面


    给出三维空间上的四个点(点与点的位置均不相同),判断这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
    满足Ax+By+Cz+d=0就成立。
     1 #include <iostream>
     2 #include <stdio.h>
     3 #include <string.h>
     4 using namespace std;
     5 struct Point{
     6     int x, y, z;
     7 };
     8 
     9 int main(){
    10     int t;
    11     scanf("%d",&t);
    12     while(t--) {
    13         Point a, b, c, d;
    14         scanf("%d%d%d%d%d%d%d%d%d%d%d%d",&a.x,&a.y,&a.z,&b.x,&b.y,&b.z,&c.x,&c.y,&c.z,&d.x,&d.y,&d.z);
    15         a.x = b.x-a.x; a.y = b.y-a.y; a.z = b.z-a.z;
    16         b.x = c.x-b.x; b.y = c.y-b.y; b.z = c.z-b.z;
    17         c.x = d.x-c.x; c.y = d.y-c.y; c.z = d.z-c.z;
    18         if(a.x*b.y*c.z+a.y*b.z*c.x+a.z*b.x*c.y-a.z*b.y*c.x-a.y*b.x*c.z-a.x*b.z*c.y == 0)
    19             cout << "YES
    ";
    20         else cout << "NO
    ";
    21     }
    22     return 0;
    23 }
  • 相关阅读:
    .gitignore规则不生效的解决办法
    docker使用
    mysql 操作
    outlook转发问题
    我的梦想
    安静与流动
    sql 统计 学生成绩2
    sql 统计 关于学生成绩
    数据库备份
    web 注销回到登录页面
  • 原文地址:https://www.cnblogs.com/xingkongyihao/p/7249376.html
Copyright © 2020-2023  润新知