小Q搜寻了整个魔法世界找到了四块魔法石所在地,当4块魔法石正好能构成一个正方形的时候将启动魔法阵,小Q就可以借此实现一个愿望。
现在给出四块魔法石所在的坐标,小Q想知道他是否能启动魔法阵
小Q搜寻了整个魔法世界找到了四块魔法石所在地,当4块魔法石正好能构成一个正方形的时候将启动魔法阵,小Q就可以借此实现一个愿望。
现在给出四块魔法石所在的坐标,小Q想知道他是否能启动魔法阵
输入的第一行包括一个整数(1≤T≤5)表示一共有T组数据
每组数据的第一行包括四个整数x[i](0≤x[i]≤10000),即每块魔法石所在的横坐标
每组数据的第二行包括四个整数y[i](0≤y[i]≤10000),即每块魔法石所在的纵坐标
对于每组数据,如果能启动魔法阵输出“Yes”否则输出“No”。
3 0022 0202 0156 1605 0077 0303
Yes Yes No
def sanjiao(x,y):
x = [int(i) for i in x]
y = [int(j) for j in y]
length = []
for i in range(1,len(x)):
temp = (x[i]-x[i-1])**2+(y[i]-y[i-1])**2
length.append(temp)
t = (x[2]-x[0])**2+(y[2]-y[0])**2
length.append(t)
length.sort()
if length[0]==length[1] and length[0]+length[1]==length[-1]:
return True
return False
if __name__=='__main__':
n = int(input().strip())
for _ in range(n):
x = input().strip()
y = input().strip()
t1 = sanjiao(x[:3],y[:3])
t2 = sanjiao(x[1:],y[1:])
t3 = sanjiao(x[2:]+x[0],y[2:]+y[0])
if t1 and t2 and t3:
print('Yes')
else:
print('No') import sys
n=int(input())
res=[]
for i in range(n):
x=[int(i) for i in input()]
y=[int(i) for i in input()]
D=[]
suc=0
for j in range(4):
d1=(x[(j+1)%4]-x[j])**2+(y[(j+1)%4]-y[j])**2
d2=(x[(j+2)%4]-x[j])**2+(y[(j+2)%4]-y[j])**2
d3=(x[(j+3)%4]-x[j])**2+(y[(j+3)%4]-y[j])**2
if len(D):
D=[d1,d2,d3]
D.sort()
else:
D_=[d1,d2,d3]
D_.sort()
if not D==D_:
break
suc+=1
if suc==4:
print("Yes")
else:
print("No")