zoukankan      html  css  js  c++  java
  • nyoj-1099-Lan Xiang's Square(几何,水题)

    题目链接

     1 /*
     2     Name:nyoj-1099-Lan Xiang's Square
     3     Copyright:
     4     Author:
     5     Date: 2018/4/26 9:19:19
     6     Description:
     7     给4个点,判断是否形成正方形 
     8     double类型的值比较大小,直接判断==0竟然A了,然而小于1e-6竟然WA
     9 */
    10 #include <iostream>
    11 #include <cstdio>
    12 #include <algorithm>
    13 using namespace std;
    14 struct node {
    15     double x, y;
    16 }nodes[5];
    17 double length_edge(node a, node b) {
    18     return (b.x - a.x)*(b.x - a.x) + (b.y - a.y)*(b.y - a.y);
    19 }
    20 int main()
    21 {
    22 //    freopen("in.txt", "r", stdin);
    23     int t;
    24     cin>>t;
    25     while (t--) {
    26         for (int i=0; i<4; i++) 
    27             cin>>nodes[i].x>>nodes[i].y;
    28         double edge[4];
    29         edge[0] = length_edge(nodes[0], nodes[1]);
    30         edge[1] = length_edge(nodes[0], nodes[2]);
    31         edge[2] = length_edge(nodes[0], nodes[3]);
    32         if (count(edge, edge+3, 0) >0) {
    33             cout<<"No"<<endl;
    34             continue;
    35         }
    36         sort(edge, edge+3);
    37 //        if (edge[0] - edge[2] + edge[1] < 1e-6 && (edge[0] - edge[1]) < 1e-6) { //WA        
    38         if (edge[0] - edge[2] + edge[1] ==0  && (edge[0] - edge[1])  == 0) {         
    39             cout<<"Yes"<<endl;
    40         } else {
    41             cout<<"No"<<endl;
    42         }
    43     }
    44     return 0;
    45 }
  • 相关阅读:
    一个主机下创建两个MySQL
    Chrome: Failed to read the 'localStorage' property from 'Window' 的解决办法
    Effective C++
    归并排序
    Daily Note
    关于Beta分布、二项分布与Dirichlet分布、多项分布的关系
    测试公式
    VLAN原理解释
    子网划分
    windows下制作debian U盘启动
  • 原文地址:https://www.cnblogs.com/langyao/p/8949784.html
Copyright © 2011-2022 走看看