Non-working solution for N

This commit is contained in:
Claudio Maggioni 2019-05-07 11:48:40 +02:00
parent 6f352fd6cc
commit fdfa9ef95d
3 changed files with 42 additions and 15 deletions

50
constellation.py Normal file → Executable file
View file

@ -1,21 +1,41 @@
class Star: class Star:
def __init__(self, x, y): def __init__(self):
self.x = x self.x = None
self.y = y self.y = None
def distance_sqr(self, other): def dist_sqr(self, star):
return ((self.x - other.x) ** 2) + ((self.y - other.y) ** 2)) return (self.x - star.x) ** 2 + (self.y - star.y) ** 2
def return_key(A): def find_constellations(M, S):
return A[2] << 32
def find_constellation(S):
T = []
for i in range(len(S)): for i in range(len(S)):
for j in range(i + 1, len(S)): for j in range(i+1, len(S)):
T.append( (S[i], S[j], S[i].distance_sqr(S[j])) ) M[i][j] = Star.dist_sqr(S[i], S[j])
M[j][i] = M[i][j]
c = 0
for i in range(len(S)):
D = {}
for j in range(len(S)):
if i == j:
continue
if M[i][j] not in D:
D[M[i][j]] = 1
else:
D[M[i][j]] += 1
for k in D:
if D[k] >= 2:
c += int(D[k] * (D[k] - 1) / 2)
return c
if __name__ == "__main__":
n = int(input())
M = [[None] * n] * n
S = []
for i in range(n):
st = input().split()
star = Star()
star.x = int(st[0])
star.y = int(st[1])
S.append(star)
print(find_constellations(M, S))
T.sort(key=return_key)
cnt = 0
for i in range(len(T)):

7
constellation.txt Normal file
View file

@ -0,0 +1,7 @@
6
5 6
6 5
7 6
6 7
7 8
8 7

0
ttt_tomek.py Normal file → Executable file
View file