forked from JaredLGillespie/CodinGame
-
Notifications
You must be signed in to change notification settings - Fork 0
/
defibrillators.py
33 lines (22 loc) · 909 Bytes
/
defibrillators.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# https://www.codingame.com/training/easy/defibrillators
import math
def distance_between(longitudeA, latitudeA, longitudeB, latitudeB):
x = (longitudeB - longitudeA) * math.cos((latitudeA + latitudeB) / 2)
y = (latitudeB - latitudeA)
return (x ** 2 + y ** 2) ** 0.5 * 6371
def solution():
longitude = float(input().replace(',', '.'))
latitude = float(input().replace(',', '.'))
num_defibrillators = int(input())
min_dist = float('inf')
min_defib_name = None
for _ in range(num_defibrillators):
line = input().split(';')
defib_longitude = float(line[4].replace(',', '.'))
defib_latitude = float(line[5].replace(',', '.'))
dist = distance_between(longitude, latitude, defib_longitude, defib_latitude)
if dist < min_dist:
min_dist = dist
min_defib_name = line[1]
print(min_defib_name)
solution()