From f594fea3c2d132eed30c88e2baa94fe1da1b3e2d Mon Sep 17 00:00:00 2001 From: Arthur Date: Mon, 11 Dec 2023 22:16:37 +0100 Subject: [PATCH] d11 part one --- d11/run1.py | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 d11/run1.py diff --git a/d11/run1.py b/d11/run1.py new file mode 100644 index 0000000..1608e3f --- /dev/null +++ b/d11/run1.py @@ -0,0 +1,44 @@ +import sys + +L = sys.stdin.read().splitlines() +gal = [] +S=0 + +# Parser pour avoir les galaxies +for line, P in enumerate(L): + for col, p in enumerate(P): + if p != ".": + gal.append([line, col]) + + +# Expansion +lines = [l[0] for l in gal] +cols = [l[1] for l in gal] + +lines_empty = [] +for line in range(0, len(L)): + if lines.count(line) == 0: + lines_empty.append(line) + +for line in reversed(lines_empty): + for g in reversed(gal): + if g[0] > line: + g[0] +=1 + +cols_empty = [] +for col in range(0, len(L[0])): + if cols.count(col) == 0: + cols_empty.append(col) + +for col in reversed(cols_empty): + for g in reversed(gal): + if g[1] > col: + g[1] +=1 + + +# Calcul distance entres les galaxies +for s in range(0, len(gal)): + for n in range(1, len(gal)-s): + S+= (abs(gal[s+n][0] - gal[s][0])) + abs((gal[s+n][1] - gal[s][1])) + +print(S) \ No newline at end of file