题目链接:http://codeforces.com/contest/474/problem/C

解题报告:给一个n,然后输入4*n个平面坐标系上的点,每四个点是一组,每个点有一个中心,这四个点可以分别围绕这个中心旋转,每次只能逆时针转90度,现在问你要使这四个点形成一个正方形最少要转的次数是多少。

枚举这四个点转的次数分别为0,1,2,3,只要这四种,因为再转的话就回到原来的状态循环了。然后对于每种情况分别判断是不是组成正方形就可以了,关键是求旋转后的坐标,和判断是不是正方形的问题。

假设这个点的坐标是(x,y),中心的点的坐标是(a,b),那么旋转90度之后这个点的坐标是(a - (y -b) , b+(x-a))

然后判断是不是正方形的方法:

任意取两个点求这两个点的距离,这样将得到六个距离,然后判断是不是有四个相等的距离另外两个是相等的,而且呈根号2倍的关系,同时还要判断距离都不能为0,满足这些条件就说明是正方形。

 

相关文章:

  • 2021-07-03
  • 2022-01-02
  • 2021-11-25
  • 2021-06-30
  • 2021-09-21
  • 2021-12-15
  • 2021-11-16
  • 2021-07-24
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-04
  • 2022-12-23
  • 2021-08-25
  • 2021-08-13
相关资源
相似解决方案