-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.py
More file actions
38 lines (28 loc) · 1.05 KB
/
Copy pathmain.py
File metadata and controls
38 lines (28 loc) · 1.05 KB
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
34
35
36
37
38
# and # 27102791
def calculate(times, dist):
ret = 1
for time, distance in zip(times, dist):
wins = 0
for i in range(time):
if i * (time - i) > distance:
wins += 1
ret *= wins
return ret
def run_tests():
test = """Time: 7 15 30
Distance: 9 40 200
"""
val = [x.strip("\r\n") for x in test.splitlines()]
ttt = map(int, val[0].split(":")[1].split())
ddd = map(int, val[1].split(":")[1].split())
assert calculate(ttt, ddd) == 288, "should be 288"
if __name__ == "__main__":
run_tests()
f = open("../inputs/day06.txt", "r")
values = [x.strip("\r\n") for x in f.readlines()]
times = map(int, values[0].split(":")[1].split())
distances = map(int, values[1].split(":")[1].split())
print(calculate(times, distances)) # 3316275 is right answer
times = map(int, values[0].split(":")[1].replace(" ", "").split())
distances = map(int, values[1].split(":")[1].replace(" ", "").split())
print(calculate(times, distances)) # 27102791 is right