zoukankan      html  css  js  c++  java
  • hdu 5206 判断三维空间中的四个点是否构成正方形

    题目描述:如标题

    思路:一比一比根号二咯

     1 #include <algorithm>
     2 #include <iostream>
     3 #include <string>
     4 using namespace std;
     5 
     6 const int N = 4;
     7 
     8 struct Node 
     9 {
    10     int x, y, z;
    11 } node[N];
    12 
    13 inline long long square( int k )
    14 {
    15     return ( long long ) k * k;
    16 }
    17 
    18 long long list[N];
    19 
    20 long long dis( Node a, Node b )
    21 {
    22     return square( a.x - b.x ) + square( a.y - b.y ) + square( a.z - b.z );
    23 }
    24 
    25 bool solve()
    26 {
    27     for ( int i = 0; i < 4; i++ )
    28     {
    29         int cnt = 0;
    30         for ( int j = 0; j < 4; j++ )
    31         {
    32             if ( i == j ) continue;
    33             list[cnt++] = dis( node[i], node[j] );
    34         }
    35         sort( list, list + cnt );
    36         if ( list[0] == list[1] && list[1] * 2 == list[2] ) {}
    37         else return false;
    38     }
    39     return true;
    40 }
    41 
    42 int main ()
    43 {
    44     int t;
    45     cin >> t;
    46     for ( int _case = 1; _case <= t; _case++ )
    47     {
    48         for ( int i = 0; i < 4; i++ )
    49         {
    50             cin >> node[i].x >> node[i].y >> node[i].z;
    51         }
    52         cout << "Case #" << _case << ": " << ( solve() ? "Yes" : "No" ) << endl;
    53     }
    54     return 0;
    55 }

    其实还有许多方法,有时间补上。

  • 相关阅读:
    LightOj1054
    LightOj1028
    Docker仓库(转载)
    Dockerfile(转载)
    Docker存储卷(转载)
    容器虚拟化网络和Docker容器网络(转载)
    Docker镜像管理基础(转载)
    Docker基础用法(转载)
    docker容器技术基础入门(转载)
    Redis 3种安装部署方式
  • 原文地址:https://www.cnblogs.com/huoxiayu/p/4438460.html
Copyright © 2011-2022 走看看