d11 part two
This commit is contained in:
parent
f594fea3c2
commit
32e3dbdf4f
|
@ -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] +=999999
|
||||||
|
|
||||||
|
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] +=999999
|
||||||
|
|
||||||
|
|
||||||
|
# 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)
|
Loading…
Reference in New Issue