advent_of_code/2021/7/7.py
kleph 9598e8f526
All checks were successful
continuous-integration/drone/push Build is passing
archive AoC 2021
2022-11-30 02:08:02 +01:00

31 lines
738 B
Python
Executable file

#!/usr/bin/env python
# 2021 - Advent Of Code - 7
def parse_file(file):
with open(file, encoding="utf-8") as f:
line = f.readline()
list_state = [int(x) for x in line.split(',')]
return list_state
# init_state = parse_file('input_example.txt')
init_state = parse_file('input.txt')
nb_crabs = len(init_state)
print(f'Initial state with {nb_crabs} crabs: {init_state}')
max_h = max(init_state)
all_diff = [0] * max_h
min_fuel = max_h * nb_crabs
min_fuel_pos = 0
for m in range(max_h):
list_diff = [abs(m-x) for x in init_state]
if sum(list_diff) < min_fuel:
min_fuel = sum(list_diff)
min_fuel_pos = m
all_diff[m] = list_diff
print(f'min fuel {min_fuel} for position {min_fuel_pos}')