【编程题】四点构成正方形

该博客讨论了如何判断给定的四个二维空间点是否能构成正方形的问题。通过计算点之间的距离并检查是否存在两个特定比例的边长(对应于cos(π/4)),可以确定是否为正方形。博客提供了输入输出描述及示例,并给出了解决问题的思路。
摘要由CSDN通过智能技术生成

随机给定四个点(二维空间),判断这四个点能否构成正方形。
输入描述:
 第一行为一个整数,表示需要判断的数据组数;
 余下每行都有8个浮点数表示四个点的坐标。
输出描述:
 输出为一行,如果能构成正方形,输出Yes,否则输出No。

输入样例:
 3
 0 0 0 1 1 0 1 1
 1 1 2 0 3 1 2 2
 0 0 -1 1 -2 1 -2 0
输出样例:
 Yes
 Yes
 No

思路:
 计算所有点之间的distance。
 如果能构成正方形,结果必定只有两个。
  如果两个结果的比值为cos(PI/4),返回Yes

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SquareProblem
{
    // Class Point
    class Point
    {
        public int x;
        public int y;
    }
    class Program
    {
        // Calculate the distance between tow point.
        static double Distance(Point a, Point b)
        {
            double dis = Math.Sqrt((a
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值