SDUTOJ 2444 - 正方形
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 - 正方形相关推荐
- 洛谷 P1387 最大正方形
P1387 最大正方形 题目描述 在一个n*m的只包含0和1的矩阵里找出一个不包含0的最大正方形,输出边长. 输入输出格式 输入格式: 输入文件第一行为两个整数n,m(1<=n,m<=10 ...
- P2216 理想的正方形 单调队列 (二维)
题目链接:https://www.luogu.org/problem/P2216 题意:求给定n*m的矩形中所有k*k的正方形块中最大值最小值之差(极差)最小 哇,大神的思路真的很帅 单调队列对每一行 ...
- opengl正方形绕点旋转_一题十五种解法够不够? 旋转,构造,四点共圆乐不停...
平移,旋转,轴对称是我们初中学习的"几何三大变换".在我们初中阶段学习的几何知识中占据着核心的地位,特别是旋转,那更是核心中的核心(河南中考22题年年考). 如何更好的理解旋转,如 ...
- 周长相等的正方形面积一定相等_必考单元:三年级下册面积计算公式+知识点+测试卷(附答案),重点内容,收藏练习!...
<面积>公式 知识点 面积和面积单位: 1.常用的面积单位有:(平方厘米).(平方分米).(平方米). 2.理解面积的意义和面积单位的意义. 面积:物体表面或封闭图形的大小,叫做它们的面积 ...
- 数数正方形(ACM/ICPC World Finals)
题目:有n行n列(2<=n<=9)的小黑点,还有m条线段连接其中的一些黑点,统计这些线段连成了多少个正方形(每种边长分别统计) 行从上到下编号为1~n,列从上到下编号为1~n.边用 H(i ...
- python正方形螺旋绘制_利用Python绘制一个正方形螺旋线
1 安装turtle Python2安装命令: pip install turtule Python3安装命令: pip3 install turtle 因为turtle库主要是在Python2中使用 ...
- C语言易错图形题--打印n行n列的空心正方形图案
题目来源:牛客网编程入门训练--BC69 空心正方形图案 解题思路:此题需要注意的是当i(行)和j (列)为0和n-1时候,打印的是" * "(*+空格),其余情况均打印&quo ...
- 【每日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] ...
- 蓝桥杯国赛-数正方形-java
思路 公式:i*(n-i)^2,i的取值范围[1,n),累加每个i取值的结果,就是答案. 证明: 不难发现,边长为i的正方形矩阵通过旋转,共有i个正方形. 而在n × n的点阵中,共有(n-i)^2个 ...
最新文章
- android九宫格密码源码,Android九宫格解锁的实现
- HDU-5023 线段树染色问题+延时标记
- java 正则首位8或者9的8位数字_从零开始学Python - 第025课:正则表达式的应用
- 中科院发布规范学术论著署名问题负面行为清单
- Java|达梦工作笔记-达梦数据库同步工具(JDBC)
- 信息学奥赛一本通C++语言——1017: 浮点型数据类型存储空间大小
- HDU2516 取石子游戏(斐波那契)
- Python控制Photoshop(Python+Com)
- 毕节市搜索引擎优化_毕节市网站建设58同城
- ERROR: Command errored out with exit status 1
- 初探BP神经网络工具箱
- CSS新招式,临时记一下
- Torch7系列教程之Torch深度学习库教程(一)
- angular报$injector / unpr的错误
- UbuntuMate安装中文输入法
- 外贸用户如何创建邮箱并登录邮箱?
- 步进伺服电机加减速 及 位置速度控制关键程序
- 计算机组成原理中J1J3是什么,计算机组成原理第一次实验报告
- 全面认识海思SDK及嵌入式层开发(4)
- 车载全景影像算法实现