Clean up day 6
This commit is contained in:
parent
ea8d287db5
commit
f98cac8651
1 changed files with 16 additions and 12 deletions
26
day06.py
26
day06.py
|
@ -2,21 +2,25 @@ import fileinput
|
||||||
from math import ceil, floor, sqrt
|
from math import ceil, floor, sqrt
|
||||||
|
|
||||||
def race(time, dist):
|
def race(time, dist):
|
||||||
x1 = (time - sqrt(time * time - 4 * dist)) / 2
|
discr = sqrt(time * time - 4 * dist)
|
||||||
x2 = (time + sqrt(time * time - 4 * dist)) / 2
|
x1 = (time - discr) / 2
|
||||||
|
x2 = (time + discr) / 2
|
||||||
x1, x2 = floor(x1) + 1, ceil(x2) - 1
|
x1, x2 = floor(x1) + 1, ceil(x2) - 1
|
||||||
return x2 - x1 + 1
|
return x2 - x1 + 1
|
||||||
|
|
||||||
input = list(fileinput.input())
|
def main():
|
||||||
times = [int(x) for x in input[0][11:].split()]
|
input = list(fileinput.input())
|
||||||
distances = [int(x) for x in input[1][11:].split()]
|
times = [int(x) for x in input[0][11:].split()]
|
||||||
|
distances = [int(x) for x in input[1][11:].split()]
|
||||||
|
|
||||||
part1 = 1
|
part1 = 1
|
||||||
for time, dist in zip(times, distances):
|
for time, dist in zip(times, distances):
|
||||||
part1 *= race(time, dist)
|
part1 *= race(time, dist)
|
||||||
|
|
||||||
time = int(input[0][11:].replace(" ", ""))
|
time = int(input[0][11:].replace(" ", ""))
|
||||||
dist = int(input[1][11:].replace(" ", ""))
|
dist = int(input[1][11:].replace(" ", ""))
|
||||||
part2 = race(time, dist)
|
part2 = race(time, dist)
|
||||||
|
|
||||||
print(part1, part2)
|
print(part1, part2)
|
||||||
|
|
||||||
|
main()
|
||||||
|
|
Loading…
Reference in a new issue