-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDay_6.py
61 lines (46 loc) · 1.22 KB
/
Day_6.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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
from math import ceil, floor, sqrt
def part1():
ways = [0 for i in times]
for i in range(len(times)):
for j in range(times[i]):
if findDistance(j, times[i]) > distances[i]:
ways[i] += 1
total = 1
for i in ways:
total *= i
print("Part 1", total)
def part2():
time = ""
distance = ""
for i in range(len(times)):
time += str(times[i])
distance += str(distances[i])
time = int(time)
distance = int(distance)
x = (-1 * time + sqrt(time * time - 4 * -1 * -1 * distance)) / -2
y = (-1 * time - sqrt(time * time - 4 * -1 * -1 * distance)) / -2
print("Part 2", int(y - x))
ways = 0
for i in range(time):
if findDistance(i, time) > distance:
ways += 1
print(ways)
#hold * time - hold * hold = distance
def findDistance(hold, time):
return hold * (time - hold)
inputVals = []
f = open("Day_6_input.txt")
for line in f:
inputVals.append(line.replace("\n", ""))
t = inputVals[0][5:].split(" ")
d = inputVals[1][10:].split(" ")
times = []
for i in t:
if i != "":
times.append(int(i))
distances = []
for i in d:
if i != "":
distances.append(int(i))
part1()
part2()