first commit

This commit is contained in:
2025-12-04 15:07:43 +03:00
commit 7a06945ca4
9 changed files with 720 additions and 0 deletions

49
2025/day03/part2.py Normal file
View File

@@ -0,0 +1,49 @@
# input = "3285251637222363222472154314252527157326423323532213732223724533233636375713623545544337332247253314"
# input = """987654321111111
# 811111111111119
# 234234234234278
# 818181911112111"""
result = 0
with open("input.txt", "r") as file:
input = file.read()
def cruncher(block: str, minimum: int):
print(minimum,block," len",len(block))
for i in range(9, 0, -1):
print("i -", i)
print("сколько",i,"в блоке",block.count(str(i)))
if block.count(str(i)) != 0:
result = block[block.index(str(i))+1:]
print(result," len ", len(result))
if len(result)+1 >= minimum and minimum != 1:
print(result,"первый выход")
return[i,result]
elif minimum == 1:
print(result," последний шанс")
return [i, i]
else:
print(f"остаток с права от {i} слишком мал")
pass
else:
print(f"в блоке нету {i}")
pass # не нашли это число
for block in input.splitlines():
print(f"block: {block}")
semiresult = ""
reminder = block
while len(semiresult) != 12:
result_list = cruncher(reminder, 12 - len(semiresult))
if result_list:
semiresult += str(result_list[0])
reminder = result_list[1]
else:
print("кранчер не вернул результата")
break
print(semiresult,"len",len(semiresult))
print("="*100)
print(semiresult,"len",len(semiresult))
result += int(semiresult)
print(f"result - {result}")