From bb50af5bbfbc307aa0171b387c2781e602480b1e Mon Sep 17 00:00:00 2001 From: FrederikBaerentsen Date: Thu, 28 Nov 2024 22:48:07 +0100 Subject: [PATCH] Simplified 2027/20 part 1 --- 2017/20/solution.py | 69 ++++++++++++++++++++++++++------------------- 1 file changed, 40 insertions(+), 29 deletions(-) diff --git a/2017/20/solution.py b/2017/20/solution.py index 0d051d4..1a791f3 100644 --- a/2017/20/solution.py +++ b/2017/20/solution.py @@ -6,7 +6,7 @@ from fred import get_re,list2int input_f = 'input' -part = 1 +part = 2 ######################################### # # # Part 1 # @@ -19,38 +19,49 @@ if part == 1: with open(input_f) as file: for line in file: lines.append(get_re(r"^p=<(.*)>.*v=<(.*)>.*a=<(.*)>$",line.rstrip())) - -#pprint(lines) -magnitude = [] + min_acc = float('inf') + acc_idx = 0 -def calculate_magnitude(vector): - return math.sqrt(sum(component ** 2 for component in vector)) - -def find_slowest_as_time_infinite(vectors): - min_acceleration = float('inf') - slowest_item = None - - for i, (_, a) in enumerate(vectors): - acceleration_magnitude = calculate_magnitude(a) - if acceleration_magnitude < min_acceleration: - min_acceleration = acceleration_magnitude - slowest_item = i - - return slowest_item - - -vectors = [] - -for i in lines: - v = list2int(i.group(2).split(',')) - a = list2int(i.group(3).split(',')) - vectors.append((v,a)) - -print(find_slowest_as_time_infinite(vectors)) + for idx,i in enumerate(lines): + tmp = math.sqrt(sum(component ** 2 for component in list2int(i.group(3).split(',')))) + if tmp < min_acc: + min_acc = tmp + acc_idx = idx + print(acc_idx) ######################################### # # # Part 2 # # # -######################################### \ No newline at end of file +######################################### +if part == 2: + continue + + #pprint(lines) + + # magnitude = [] + + # def calculate_magnitude(vector): + # return math.sqrt(sum(component ** 2 for component in vector)) + + # def find_slowest_as_time_infinite(vectors): + # min_acceleration = float('inf') + # slowest_item = None + + # for i, (_, a) in enumerate(vectors): + # acceleration_magnitude = calculate_magnitude(a) + # if acceleration_magnitude < min_acceleration: + # min_acceleration = acceleration_magnitude + # slowest_item = i + + # return slowest_item + + + # vectors = [] + + # for i in lines: + # v = list2int(i.group(2).split(',')) + # a = list2int(i.group(3).split(',')) + # vectors.append((v,a)) + # print(find_slowest_as_time_infinite(vectors))