[编程]C++判断四个点能否构成正方形
方法一:
判断方法:三个条件同时满足(1:四条边相等,2:边不为0,3:有一个直角)
https://blog.csdn.net/qq_29567701/article/details/79676736
方法二:
思路:
计算所有点之间的distance。
如果能构成正方形,结果必定只有两个。
如果两个结果的比值为cos(PI/4),返回Yes
https://blog.csdn.net/MadBam_boo/article/details/79801997
方法三:
思路:
两个相邻边相等,两交叉边相等.
#include <iostream>
#include <cmath>
#include <algorithm>
using
namespace
std;
int
main()
{
int
n, x1, x2, x3, x4, y1, y2, y3, y4;
int
line[6];
cin>>n;
while
(n--)
{
cin>>x1>>x2>>x3>>x4;
cin>>y1>>y2>>y3>>y4;
line[0] =
pow
(x1-x2, 2) +
pow
(y1-y2, 2);
line[1] =
pow
(x2-x3, 2) +
pow
(y2-y3, 2);
line[2] =
pow
(x3-x4, 2) +
pow
(y3-y4, 2);
line[3] =
pow
(x4-x1, 2) +
pow
(y4-y1, 2);
line[4] =
pow
(x1-x3, 2) +
pow
(y1-y3, 2);
line[5] =
pow
(x2-x4, 2) +
pow
(y2-y4, 2);
sort(line, line+6);
if
(line[0] == line[1] && line[4] == line[5])
cout<<
"Yes"
<<endl;
else
cout<<
"No"
<<endl;
}
return
0;
}
[编程]C++判断四个点能否构成正方形相关推荐
- 判断四个点是不是组成正方形
判断四个点是不是组成正方形 给出几组数,每组的第一行为横坐标,第二行为纵坐标.看其是否组成正方形 代码 #coding=utf-8 import sys if __name__ == "__ ...
- C++判断四个点能否构成正方形
参考博客https://blog.csdn.net/yangkunpengD/article/details/51329115 对其进行了修改,思路大致一样. 判断方法:三个条件同时满足(1:四条边相 ...
- c语言长和宽判断是否是正方形,C++ 如何判断四个点是否构成正方形
判断方法分为两步: 1.判断四条边是否相等: 2.判断是否有一个角为直角: 求解两点之前距离的函数: double Distance(int x1,int y1,int x2,int y2){ ret ...
- C++判断四个点能否构成正方形/矩阵
判断正方形方法:三个条件同时满足(1:四条边相等,2:边不为0,3:有一个直角) 判断矩形的话就是条件1变为有2对边相等 #include<iostream> #include<al ...
- 判断指定目录下的所有[图片]的扩展名, 并打印出文件名.
1 package test; 2 3 /* 4 * 需求: 判断指定目录下的所有[图片]的扩展名, 并打印出文件名. 5 * 6 * */ 7 import java.io.File; 8 impo ...
- Linux RCU机制详解[转]
一:前言 RCU机制出现的比较早,只是在linux kernel中一直到2.5版本的时候才被采用.关于RCU机制,这里就不做过多的介绍了,网上有很多有关RCU介绍和使用的文档.请自行查阅.本文主要是从 ...
- [翻译]Why Functional Programming Matters
Why Functional Programming Matters 函数式程序设计为什么至关重要 作者: John Hughes 翻译: CloudiDust [http://blog.csdn.n ...
- IOS仿[自选股]项目开发
[自选股]手机客户端致力于通过先进的移动互联技术,让广大投资者尊享更便捷的证券投资服务.其简约易用 功能特点 一:界面简洁 登录人性化 用户可通过QQ账户登录软件,无需注册登录.登录后,软件会自动同步 ...
- [转]即时通信-socket
原文地址:[转]即时通信-socket 作者:竹林沉雪 我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览器浏览网页时,浏览 器的进程怎么与web服务器通信的?当你用QQ聊天时,QQ ...
最新文章
- 机器学习基础---架构设计
- NoSQL 数据库系统对比
- 浅谈多核CPU、多线程与并行计算
- 国际化和判断当前语言环境
- NSIS修改开始菜单中图标
- 区块链 HyperLedger Fabric安装
- 关于ics lab8 performance中的smooth
- wps怎么写分段函数_连Excel都做不到!WPS这几项真香功能你用过吗
- ~~欧几里得算法(附模板题)
- JAVA指定范围生成随机数
- 不是区块链的特征_区块链的四大特征
- 我的世界(15)-删除服务器地图区块(MCedit)
- ftl 页面使用java代码_在FTL文件中使用自定义的Java方法
- Blizzard的MPQ文件格式搜索算法
- HTML 代码混淆与压缩
- 路由器的工作原理(计算机网络-网络层)
- seo是什么,seo是什么职位缩写
- 闵帆老师《论文写作》心得体会
- 测试工程师-yy面试 cvte面试总结
- 如何查计算机名和用户名,电脑的用户名和密码怎么查看
热门文章
- 【动画教程】真封神南极服务端2.52架设第二集
- 查询CNAPS 代码
- [MOOC]物联网技术笔记-3.物联网感知技术(传感器)
- Python学习卷轴
- Java中的canonical name、simple name和class name
- Debian/Linux 下无线网卡驱动的安装
- android 相册管理备份,照片太多?安卓手机管理照片轻松上手
- C++ 实现 俄罗斯方块 源码分享 (Windows编程),有图形界面
- Worthington木瓜蛋白酶解离系统解决方案
- 甘肃省普通高等学校高职(专科)升本科考试计算机科考试大纲(试行)