Problem Description

给出四个点,判断这四个点能否构成一个正方形。

Input

输入的第一行包含一个整数T(T≤30)表示数据组数,每组数据只有一行,包括8个整数x1, y1, x2, y2,x3,y3,x4,y4(数据均在-1000,1000 之间)以逆时针顺序给出四个点的坐标。

Output

每组数据输出一行,如果是正方形,则输出: YES, 否则,输出:NO。

Sample Input

2
0 0 1 0 1 1 0 1
-1 0 0 -2 1 0 2 0

Sample Output

YES
NO

Hint

Source

思路:
判定四条边相等,且使用勾股定理判定对角线与边的关系

package hello;import java.util.*;
import java.lang.*;class point{int x, y;public point(int x, int y) {this.x = x;this.y = y;}public int dis(point p) {return (x-p.x)*(x-p.x)+(y-p.y)*(y-p.y);}
}public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int T = sc.nextInt();while(T > 0) {T--;point a = new point(sc.nextInt(), sc.nextInt()); // 四个点point b = new point(sc.nextInt(), sc.nextInt());point c = new point(sc.nextInt(), sc.nextInt());point d = new point(sc.nextInt(), sc.nextInt());int dis1 = a.dis(b); // 四条边的长度的平方int dis2 = b.dis(c);int dis3 = c.dis(d);int dis4 = d.dis(a);int dis5 = a.dis(c); // 对角线长度的平方if (dis1 == dis2&&dis2 == dis3&&dis3 == dis4&&dis1+dis2 == dis5) { // 判定正方形System.out.println("YES");}else {System.out.println("NO");}}}
}

SDUTOJ 2444 - 正方形相关推荐

  1. 洛谷 P1387 最大正方形

    P1387 最大正方形 题目描述 在一个n*m的只包含0和1的矩阵里找出一个不包含0的最大正方形,输出边长. 输入输出格式 输入格式: 输入文件第一行为两个整数n,m(1<=n,m<=10 ...

  2. P2216 理想的正方形 单调队列 (二维)

    题目链接:https://www.luogu.org/problem/P2216 题意:求给定n*m的矩形中所有k*k的正方形块中最大值最小值之差(极差)最小 哇,大神的思路真的很帅 单调队列对每一行 ...

  3. opengl正方形绕点旋转_一题十五种解法够不够? 旋转,构造,四点共圆乐不停...

    平移,旋转,轴对称是我们初中学习的"几何三大变换".在我们初中阶段学习的几何知识中占据着核心的地位,特别是旋转,那更是核心中的核心(河南中考22题年年考). 如何更好的理解旋转,如 ...

  4. 周长相等的正方形面积一定相等_必考单元:三年级下册面积计算公式+知识点+测试卷(附答案),重点内容,收藏练习!...

    <面积>公式 知识点 面积和面积单位: 1.常用的面积单位有:(平方厘米).(平方分米).(平方米). 2.理解面积的意义和面积单位的意义. 面积:物体表面或封闭图形的大小,叫做它们的面积 ...

  5. 数数正方形(ACM/ICPC World Finals)

    题目:有n行n列(2<=n<=9)的小黑点,还有m条线段连接其中的一些黑点,统计这些线段连成了多少个正方形(每种边长分别统计) 行从上到下编号为1~n,列从上到下编号为1~n.边用 H(i ...

  6. python正方形螺旋绘制_利用Python绘制一个正方形螺旋线

    1 安装turtle Python2安装命令: pip install turtule Python3安装命令: pip3 install turtle 因为turtle库主要是在Python2中使用 ...

  7. C语言易错图形题--打印n行n列的空心正方形图案

    题目来源:牛客网编程入门训练--BC69  空心正方形图案 解题思路:此题需要注意的是当i(行)和j (列)为0和n-1时候,打印的是" * "(*+空格),其余情况均打印&quo ...

  8. 【每日DP】day3 P1387 最大正方形(奇怪的DP增加了 / 二维前缀和)难度⭐⭐★

    奇怪的DP增加了 这道题,刚看见真是一脸懵逼,看了题解才明白. 本题中神奇的转移方程是: f[i][j]=min(min(f[i][j−1],f[i−1][j]),f[i−1][j−1])+1f[i] ...

  9. 蓝桥杯国赛-数正方形-java

    思路 公式:i*(n-i)^2,i的取值范围[1,n),累加每个i取值的结果,就是答案. 证明: 不难发现,边长为i的正方形矩阵通过旋转,共有i个正方形. 而在n × n的点阵中,共有(n-i)^2个 ...

最新文章

  1. android九宫格密码源码,Android九宫格解锁的实现
  2. HDU-5023 线段树染色问题+延时标记
  3. java 正则首位8或者9的8位数字_从零开始学Python - 第025课:正则表达式的应用
  4. 中科院发布规范学术论著署名问题负面行为清单
  5. Java|达梦工作笔记-达梦数据库同步工具(JDBC)
  6. 信息学奥赛一本通C++语言——1017: 浮点型数据类型存储空间大小
  7. HDU2516 取石子游戏(斐波那契)
  8. Python控制Photoshop(Python+Com)
  9. 毕节市搜索引擎优化_毕节市网站建设58同城
  10. ERROR: Command errored out with exit status 1
  11. 初探BP神经网络工具箱
  12. CSS新招式,临时记一下
  13. Torch7系列教程之Torch深度学习库教程(一)
  14. angular报$injector / unpr的错误
  15. UbuntuMate安装中文输入法
  16. 外贸用户如何创建邮箱并登录邮箱?
  17. 步进伺服电机加减速 及 位置速度控制关键程序
  18. 计算机组成原理中J1J3是什么,计算机组成原理第一次实验报告
  19. 全面认识海思SDK及嵌入式层开发(4)
  20. 车载全景影像算法实现

热门文章

  1. 苹果x和xsmax有什么区别_苹果三种不同开发者详细区别在哪?为什么有三类帐号?...
  2. 高等数学笔记:复合函数的二阶导数与参数方程求解曲率
  3. mysql 行级锁的使用
  4. 可预见性职业和不可预见性职业
  5. 看完Kodak Gallery 想到印客
  6. html5video播放不了怎么解决
  7. JsonWebToken是什么?
  8. 甘肃省普通高等学校高职(专科)升本科考试英语科考试大纲(试行)
  9. 2023-5-26第二十六天
  10. linux ip rule table,Linux 高级路由 ip rule / ip rout