09-2 fail
This commit is contained in:
@@ -62,7 +62,9 @@ if __name__ == "__main__":
|
|||||||
#print(extend_input_to_list(input_string))
|
#print(extend_input_to_list(input_string))
|
||||||
ex = extend_input_to_list(input_string)
|
ex = extend_input_to_list(input_string)
|
||||||
#print(de_frag(extend_input_to_list(input_string)))
|
#print(de_frag(extend_input_to_list(input_string)))
|
||||||
|
print(len(ex))
|
||||||
de = de_frag(ex)
|
de = de_frag(ex)
|
||||||
|
print(len(de))
|
||||||
sol = checksum(de)
|
sol = checksum(de)
|
||||||
print(f'Solution: {sol}')
|
print(f'Solution: {sol}')
|
||||||
print(f'Runtime: {time()-start_time:.2f} s')
|
print(f'Runtime: {time()-start_time:.2f} s')
|
||||||
@@ -1,5 +1,9 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
# works for example but not for puzzle-input
|
||||||
|
|
||||||
|
|
||||||
#file = "./input.txt"
|
#file = "./input.txt"
|
||||||
file = "./ex2.txt"
|
file = "./ex2.txt"
|
||||||
#file = "./ex1.txt"
|
#file = "./ex1.txt"
|
||||||
@@ -21,20 +25,22 @@ def input_to_list(input_str:str) -> list[list[int]]:
|
|||||||
def de_frag(il:list[list[int]]) -> list[list[int]]:
|
def de_frag(il:list[list[int]]) -> list[list[int]]:
|
||||||
for i in range(len(il)-1, 0, -1):
|
for i in range(len(il)-1, 0, -1):
|
||||||
for j in range(len(il)):
|
for j in range(len(il)):
|
||||||
|
if il[j][2] == 0:
|
||||||
|
continue
|
||||||
if j >= i:
|
if j >= i:
|
||||||
break
|
break
|
||||||
if il[j][2] >= il[i][1]:
|
if il[j][2] >= il[i][1]:
|
||||||
|
|
||||||
il.insert(j+1, il.pop(i))
|
|
||||||
#print(il[j],il[j+1],il[i], end=" ----> ")
|
#print(il[j],il[j+1],il[i], end=" ----> ")
|
||||||
il[i][2] += il[j+1][1]
|
tjf = il[j][2]
|
||||||
il[i][2] += il[j+1][2]
|
# tjl = il[j][1]
|
||||||
il[j+1][2] = il[j][2] - il[j+1][1]
|
tif = il[i][2]
|
||||||
|
til = il[i][1]
|
||||||
|
il.insert(j+1, il.pop(i))
|
||||||
il[j][2] = 0
|
il[j][2] = 0
|
||||||
|
il[j+1][2] = tjf-til
|
||||||
|
il[i][2] += til+tif
|
||||||
#print(il[j],il[j+1],il[i])
|
#print(il[j],il[j+1],il[i])
|
||||||
|
#print(il)
|
||||||
return il
|
return il
|
||||||
|
|
||||||
def checksum(il:list[list[int]]) -> int:
|
def checksum(il:list[list[int]]) -> int:
|
||||||
Reference in New Issue
Block a user