Compare commits
3 Commits
a7669325d9
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1ff3f709f0 | ||
| 96edc036c5 | |||
| 70f0364674 |
@@ -2,8 +2,8 @@ input = """123 328 51 64
|
||||
45 64 387 23
|
||||
6 98 215 314
|
||||
* + * + """
|
||||
with open("input.txt", "r") as file:
|
||||
input = file.read()
|
||||
# with open("input.txt", "r") as file:
|
||||
# input = file.read()
|
||||
# for row in input.splitlines():
|
||||
# print(row)
|
||||
# print("="*100)
|
||||
|
||||
77
2025/day06/part2_lexx.py
Normal file
77
2025/day06/part2_lexx.py
Normal file
@@ -0,0 +1,77 @@
|
||||
from functools import reduce
|
||||
from pprint import pprint
|
||||
# обрабатывваем инпут, возвращает karta.
|
||||
# karta: list[list] = [[123,328,51,64],
|
||||
# [45,64,387,23],
|
||||
# [6,98,215,314],
|
||||
# ['*','+','*','+']]
|
||||
input = """123 328 51 64
|
||||
45 64 387 23
|
||||
6 98 215 314
|
||||
* + * +
|
||||
"""
|
||||
with open("input_lexx.txt", "r") as file:
|
||||
input = file.read()
|
||||
karta = []
|
||||
for row in input.splitlines():
|
||||
karta.append([])
|
||||
for elemet in row.split(' '):
|
||||
# print(elemet)
|
||||
if elemet == '':
|
||||
pass
|
||||
elif elemet == '*':
|
||||
# print("elemet == '*'",type(elemet))
|
||||
karta[-1].append(str(elemet))
|
||||
elif elemet == '+':
|
||||
# print("elemet == '+'",type(elemet))
|
||||
karta[-1].append(str(elemet))
|
||||
else:
|
||||
# print(type(elemet))
|
||||
karta[-1].append(int(elemet))
|
||||
# print("end of row")
|
||||
|
||||
# функция собирающая строчку из списка
|
||||
stroka: list[int]= []
|
||||
move: str = ""
|
||||
final_result: int = 0
|
||||
new_karta:list[list[str]] = [ [''] * (len(karta[0])-1) for i in range((len(karta)-1)* len(karta[0]))]
|
||||
# print("new_karta",new_karta)
|
||||
print("="*10)
|
||||
print(f"Предстоит создать и обрабоать {len(karta[0])} строк")
|
||||
counter: int = (len(karta) - 1 )* len(karta[0])
|
||||
while counter >= 1:
|
||||
for y in range(len(karta[0])):
|
||||
print("="*10)
|
||||
print(f"Обработака строки {y+1}")
|
||||
for x in range(len(karta)):
|
||||
if isinstance(karta[x][y],int):
|
||||
print("digit",karta[x][y])
|
||||
adres:int = (len(karta) - 1 )* len(karta[0]) - counter
|
||||
print(f"new_karta[{adres}]")
|
||||
print("slise - 1",str(karta[x][y])[-1:])
|
||||
print("slise - 2",str(karta[x][y])[-2:-1])
|
||||
print("slise - 3",str(karta[x][y])[-3:-2])
|
||||
print("slise - 4",str(karta[x][y])[-4:-3])
|
||||
new_karta[adres][0] = str(karta[x][y])[-1:]
|
||||
new_karta[adres][1] = str(karta[x][y])[-2:-1]
|
||||
new_karta[adres][2] = str(karta[x][y])[-3:-2]
|
||||
new_karta[adres][3] = str(karta[x][y])[-4:-3]
|
||||
counter -= 1
|
||||
# print(new_karta)
|
||||
else:
|
||||
pass
|
||||
pprint(karta)
|
||||
# move = karta[x][y]
|
||||
# print(stroka)
|
||||
# print("Действие",move)
|
||||
# if move == "+":
|
||||
# result: int= sum(stroka)
|
||||
# print("Результат",result)
|
||||
# elif move == "*":
|
||||
# result: int = reduce((lambda x, y: x * y), stroka)
|
||||
# print("Результат",result)
|
||||
# final_result += result
|
||||
# if y == len(karta[0])-1:
|
||||
# print("="*10)
|
||||
# print("Сумма всех строк",final_result)
|
||||
# stroka: list[int]= []
|
||||
142
2025/day07/input.txt
Normal file
142
2025/day07/input.txt
Normal file
@@ -0,0 +1,142 @@
|
||||
......................................................................S......................................................................
|
||||
.............................................................................................................................................
|
||||
......................................................................^......................................................................
|
||||
.............................................................................................................................................
|
||||
.....................................................................^.^.....................................................................
|
||||
.............................................................................................................................................
|
||||
....................................................................^...^....................................................................
|
||||
.............................................................................................................................................
|
||||
...................................................................^.^.^.^...................................................................
|
||||
.............................................................................................................................................
|
||||
..................................................................^...^.^.^..................................................................
|
||||
.............................................................................................................................................
|
||||
.................................................................^.^.^.^.^.^.................................................................
|
||||
.............................................................................................................................................
|
||||
................................................................^.^...^.^.^.^................................................................
|
||||
.............................................................................................................................................
|
||||
...............................................................^.^.^...^...^.^...............................................................
|
||||
.............................................................................................................................................
|
||||
..............................................................^.^...^.^.^.^...^..............................................................
|
||||
.............................................................................................................................................
|
||||
.............................................................^.....^...^.^.^.^.^.............................................................
|
||||
.............................................................................................................................................
|
||||
............................................................^.^.^.^.^...^.^.^...^............................................................
|
||||
.............................................................................................................................................
|
||||
...........................................................^.....^.^.^.^...^...^.^...........................................................
|
||||
.............................................................................................................................................
|
||||
..........................................................^.^...^.......^.^.^.^.^.^..........................................................
|
||||
.............................................................................................................................................
|
||||
.........................................................^.^.^.^.^.^.^.^.^.^...^.^.^.........................................................
|
||||
.............................................................................................................................................
|
||||
........................................................^.......^.^.^.^...^.^...^.^.^........................................................
|
||||
.............................................................................................................................................
|
||||
.......................................................^.^.^.^...^.^...^...^...^...^.^.......................................................
|
||||
.............................................................................................................................................
|
||||
......................................................^.^...^.^.^.^...^.....^.^.^.^.^.^......................................................
|
||||
.............................................................................................................................................
|
||||
.....................................................^.^.^.^.^.^...^.^.^.^.^.^.^.^.^.^.^.....................................................
|
||||
.............................................................................................................................................
|
||||
....................................................^.^.^...^.^.^.^...^.^...^.^...^...^.^....................................................
|
||||
.............................................................................................................................................
|
||||
...................................................^.^.^.^.^.......^.^.^.^.^.^...^.^...^.^...................................................
|
||||
.............................................................................................................................................
|
||||
..................................................^.......^...^.^.^...^.....^.^.........^.^..................................................
|
||||
.............................................................................................................................................
|
||||
.................................................^.^.^.^.^.^.^.^.^.^.^...^...^...^.^.....^.^.................................................
|
||||
.............................................................................................................................................
|
||||
................................................^...^.^...^.^.^.......^.....^...^...^.....^.^................................................
|
||||
.............................................................................................................................................
|
||||
...............................................^.^.^...^.^...^...^.....^...^.^.^.^.^...^.^.^.^...............................................
|
||||
.............................................................................................................................................
|
||||
..............................................^.......^.^.^.^...^.^.....^...^.^.^.^.^.^.^.^.^.^..............................................
|
||||
.............................................................................................................................................
|
||||
.............................................^.^...^.^.^...^.^.^.^.^...^.^.^.^.........^.^.^.^.^.............................................
|
||||
.............................................................................................................................................
|
||||
............................................^.^.^.^.....^...^.....^.^.^.^...^.^.^.^...^...^.^.^.^............................................
|
||||
.............................................................................................................................................
|
||||
...........................................^.....^.^.^.......^.....^.^...^.^.^.^.^.^.^.^...^.^.^.^...........................................
|
||||
.............................................................................................................................................
|
||||
..........................................^.^.^.^.^.^...^.^.^.....^.^.....^...^.^.^.^.....^.^.^...^..........................................
|
||||
.............................................................................................................................................
|
||||
.........................................^.^.^.^...............^.^.^...^.^.........^.^.^...^.^...^.^.........................................
|
||||
.............................................................................................................................................
|
||||
........................................^.^.^.^.^.^.^...^.^.^...^...^.^.^.^.^.^.^.^...^.^.....^.^.^.^........................................
|
||||
.............................................................................................................................................
|
||||
.......................................^...^.^.^.^.^.^.^.^...^...^.^.^.......^.^.^.^.^.^.........^...^.......................................
|
||||
.............................................................................................................................................
|
||||
......................................^.^.^.^.^.^...^.^.^.......^.....^...^.^.......^.^...^.^.^...^...^......................................
|
||||
.............................................................................................................................................
|
||||
.....................................^.^.^.^.^.....^.^.^.^.^.^.....^.^.^.^.^.^.^.^.^.^.^.^.^.^.....^.^.^.....................................
|
||||
.............................................................................................................................................
|
||||
....................................^...^.^.^.^.^...^.^.^.^.........^.^.^.^.^.^.^...^.^.^.^...^.^...^...^....................................
|
||||
.............................................................................................................................................
|
||||
...................................^.^.^...^.^.^.^.^.^.......^.^.^.^.^...^.^.^.^.^.^.^.^...^.^...^.....^.^...................................
|
||||
.............................................................................................................................................
|
||||
..................................^.^...^.......^.^.^.^...^...^.^.....^.......^.^.^...^...^.^.^.^.^.^.^.^.^..................................
|
||||
.............................................................................................................................................
|
||||
.................................^.^.....^...^.^.^...^...^.^.^.......^.^.^.^.^.^.^.^.^...^.....^.^.^.^.^.^.^.................................
|
||||
.............................................................................................................................................
|
||||
................................^.....^.^.^...^.^...^...^...^.^.^.^...^.^.^.^...^.^...^.^.^.^...^.^.^...^...^................................
|
||||
.............................................................................................................................................
|
||||
...............................^.^.^.^.^.......^...^.^...^...^.^.^.^.^.^...^.^.^.....^.^.^.^.^.......^.....^.^...............................
|
||||
.............................................................................................................................................
|
||||
..............................^...^...^.....^.^...^.^.^.^...^.^.^...^.^...^.^.^.^.^.^...^...^.^.^.........^.^.^..............................
|
||||
.............................................................................................................................................
|
||||
.............................^.^.....^.....^...^.^.^.^...^.....^...^.^.^...^...^.^...^.^...^.^.^.^.^.^.^...^...^.............................
|
||||
.............................................................................................................................................
|
||||
............................^.^.^...^.^...^.^.^...^.^.^...^.^.^.^.....^...^.^.^.^.....^.^.^...^.^.^.^.^.^.^.^...^............................
|
||||
.............................................................................................................................................
|
||||
...........................^.^.^.......^.^.^.^.^...^.^.^.^.^...^.....^.^.^.^.^.^...^...^.^.^.^.^.^.^...^.^.^...^.^...........................
|
||||
.............................................................................................................................................
|
||||
..........................^.^.....^...^.^.^...^...^.^.^.^.^.^.^.^.^.^.^...^.^.^.^...^.^.^...^...^.^...^.^.^...^.^.^..........................
|
||||
.............................................................................................................................................
|
||||
.........................^.^...^.^.^...^.^.^.^.^...^.^...^.............^.^.^.^.......^.^.^.^.^...^.^.^...^.^.^.^.^.^.........................
|
||||
.............................................................................................................................................
|
||||
........................^.^.........^.^.^.^.^.^...^.......^...^.^.^...^.^.^.....^.^.^.......^.....^.^.^.^.^.^.^.^.^.^........................
|
||||
.............................................................................................................................................
|
||||
.......................^...^.^.^.^.^.^...^.^.^.^.^.^.^.^.^.^.^...^.^.^.^.^.^.^.^.^.^...^.^.....^.^...^.^.^.^...^.^.^.^.......................
|
||||
.............................................................................................................................................
|
||||
......................^.^.^.^.......^.^.^...^.^...^.^...^...^.^...^...^.....^.^...^.^.^.^.^.^.^...^.^.^.^...^.^.^.^.^.^......................
|
||||
.............................................................................................................................................
|
||||
.....................^.^.^.^...^...^...^.^.^.....^.^.^.^...^...^.^.^.^.^.........^.^.^...^.^.^.^.....^.^.^...^.^...^.^.^.....................
|
||||
.............................................................................................................................................
|
||||
....................^.^.^...^...^.^.^.^.^.^.^.^.^.^.....^.^.^.^.^.....^...^.^.^.^.......^...^.^.^.^.^.^...^.^.^...^.^...^....................
|
||||
.............................................................................................................................................
|
||||
...................^.^...^.^.^.^.^...^.^.^.^...^.^.^.^.^.^...^.^...^...^.^.^.^.......^.^.^.^...^...^.^.^.^.^.^.^.^.^.^.^.^...................
|
||||
.............................................................................................................................................
|
||||
..................^.^.^.^...^.....^.^...^...^.....^.....^.^...^...^...^.^.......^.........^.^.^.^.^.^...^.^.^.^.^.^.^.^.^.^..................
|
||||
.............................................................................................................................................
|
||||
.................^.^.^.^.^.^.^...^.^.^...^...^.^.^.^.^.^.^.^.^.....^.^...^.....^.^...^.^.^.^.^.^.....^.^.^.^.^.^.^.^.^.^.^.^.................
|
||||
.............................................................................................................................................
|
||||
................^.......^.^.^.^...^.^...^.^.^.^.^.^.^.......^.^.^.^.^.....^.^.^.^.^.^.....^.^.^...^...^.^.^...^.^.....^.^.^.^................
|
||||
.............................................................................................................................................
|
||||
...............^.^.^.^.^.^.......^.^.^.......^.^.^...^.^.....^.^.........^.........^.^...^.^.^.^.^.^.^...^.^.^...^.^.^.^.^.^.^...............
|
||||
.............................................................................................................................................
|
||||
..............^.^.^.^.^.....^.^.^.^.^.....^.^.^.^.^.^.^...^.^...^...^.^.^...^.^.^...^...^...^.^.^.^.^.^.^.........^.^.^.^.^.^.^..............
|
||||
.............................................................................................................................................
|
||||
.............^.^.^.^.^.....^.^...^.^.^.....^.^.....^...^.^.....^.^.^...^.^.^.^...^...^.....^.^.^...^...^.^.....^.....^.....^...^.............
|
||||
.............................................................................................................................................
|
||||
............^.^.....^.^.^.^.^.^.^.^.^.....^...^.^.....^.^.^.^.^...^...^.^.^.^.^.^.^...^...^.....^.........^.....^.^.^.^.^.^...^.^............
|
||||
.............................................................................................................................................
|
||||
...........^.^...^.^.^.^...^.......^...^.^.^.^.....^.^.^.^.^.....^.^.^.^.^.^.....^...^.^.^.^.^.^.^.^.^.^.^.^.^.^.^.^.......^.^...^...........
|
||||
.............................................................................................................................................
|
||||
..........^...^.^.^.^.........^.^.^.^.^...^.^.^.^...^.^.^.^.^.^.....^...^...^...^.^.^.^...^...^...^...^...^.......^...^...^.^...^.^..........
|
||||
.............................................................................................................................................
|
||||
.........^...^.^.^...^.^.^.^...^.^.^...^.^...^.^.^.^.^...^.^.^.^.^.^.^...^.^...^.....^.^.....^.^.^.^.^.^.^...^.^.^.^.^.^.^.^.....^.^.........
|
||||
.............................................................................................................................................
|
||||
........^.^...^.......^...^...^...^...^.........^.^.^.^...^...^.^.^.^.^.^.^.^.^.^.^.^.^.^.^.^.....^.^.^.^.^.^...^.^...^.^...^.^.....^........
|
||||
.............................................................................................................................................
|
||||
.......^...^.^.....^.^.^.^.^.^.^...^...^.^.^.^.....^.^.^...^.^.^...^.^...^...^.^.^.^.^.^.^.^...^.^.^.^.^.....^.^.^.^...^.^.^.^.^.^.^.^.......
|
||||
.............................................................................................................................................
|
||||
......^.^.^.........^.^.^...^...^.^...^.^.^.^...^.^...^...^.^.^.^.^...^.^.^.^.^.^.^.^.^.^.^.^.^.^.^...^.^...^.^.^.^.^...^.^.^.^.^.^.^.^......
|
||||
.............................................................................................................................................
|
||||
.....^.^.....^.^...^.^.^...^...^.^.^.........^.^.^...^.^...^.^.^.^.^.^.^...^...^.^.^.^...^.^...^.^.^.^.^.^.^.^.^...^.^...^.^...^.^.....^.....
|
||||
.............................................................................................................................................
|
||||
....^.^.^.....^...^.^.^.^.....^.....^...^.......^.^...^...^...^.^.^.^.^.....^.^.....^.^...^...^.^.^.^.^.^.^...^.^.^.^.^.^.^.^.^...^.^...^....
|
||||
.............................................................................................................................................
|
||||
...^.^...^.^...^.^.^.^...^.^.......^.^.^.^.^...^...^.^...^...^.^.^.....^.^.^.^.^.^.^.^.^...^.^.^.^.^.^.^.^.^...^...^.^.^.^.^.^.^.^.^.^...^...
|
||||
.............................................................................................................................................
|
||||
..^.^.^.^.^.....^...^.^.^.^...^.^...^...^.^.^.^...^...^...^.^.^.^.....^.^.^.^.^.^.^.^.^...^.^.^...^.^.^...^.^.^.^.^.^.^.^...^.^...^...^...^..
|
||||
.............................................................................................................................................
|
||||
.^.^...^.^.^...^.....^.^.^...^.^.^.^.^.^.^.....^.^.^.^.^.^.^.^.^.^.^.^.^.^.^.^.^.^...^.^...^.^.^.^...^...^.^.^.....^.^...^...^.^.^.^.^.^.^.^.
|
||||
.............................................................................................................................................
|
||||
60
2025/day07/part1.py
Normal file
60
2025/day07/part1.py
Normal file
@@ -0,0 +1,60 @@
|
||||
input = """.......S.......
|
||||
...............
|
||||
.......^.......
|
||||
...............
|
||||
......^.^......
|
||||
...............
|
||||
.....^.^.^.....
|
||||
...............
|
||||
....^.^...^....
|
||||
...............
|
||||
...^.^...^.^...
|
||||
...............
|
||||
..^...^.....^..
|
||||
...............
|
||||
.^.^.^.^.^...^.
|
||||
..............."""
|
||||
|
||||
# with open("input.txt", "r") as file:
|
||||
# input = file.read()
|
||||
|
||||
|
||||
start = [row.find("S") for row in input.splitlines()][0]
|
||||
|
||||
temp = [list(map(str, row)) for row in input.splitlines()]
|
||||
list_temp = [[] for _ in range(len(input.splitlines()))]
|
||||
for i, row in enumerate(temp[1:]):
|
||||
for ii, r in enumerate(row):
|
||||
if r == "^":
|
||||
list_temp[i+1].append(ii)
|
||||
|
||||
print(list_temp)
|
||||
for i, *row in enumerate(zip(temp, list_temp)):
|
||||
print(i-1, temp[i-1], "прошлая строка")
|
||||
print(i, row[0][0], "сейчас", row[0][1])
|
||||
if i == 0:
|
||||
if temp[i+1][start] != "^":
|
||||
temp[i+1][start] = "|"
|
||||
else:
|
||||
if row[0][1]:
|
||||
print(f"строка {i}, {row[0][1]}")
|
||||
for y in row[0][1]:
|
||||
temp[i][y-1] = "|"
|
||||
temp[i][y+1] = "|"
|
||||
elif "^" not in row[0][0] and row[0][1] == []:
|
||||
for ii, y in enumerate(row[0][0]):
|
||||
if temp[i-1][ii] == "|":
|
||||
temp[i][ii] = "|"
|
||||
for iii, y in enumerate(row[0][0]):
|
||||
if temp[i-1][iii] == "|" and temp[i][iii] != "^":
|
||||
temp[i][iii] = "|"
|
||||
|
||||
print("="*100)
|
||||
|
||||
|
||||
|
||||
count = 0
|
||||
for i, row in enumerate(temp):
|
||||
print(row)
|
||||
count += sum(1 for y, r in enumerate(row) if r == "^" and temp[i-1][y] == "|")
|
||||
print(count)
|
||||
55
2025/day07/part2.py
Normal file
55
2025/day07/part2.py
Normal file
@@ -0,0 +1,55 @@
|
||||
# input = """.......S.......
|
||||
# ...............
|
||||
# .......^.......
|
||||
# ...............
|
||||
# ......^.^......
|
||||
# ...............
|
||||
# .....^.^.^.....
|
||||
# ...............
|
||||
# ....^.^...^....
|
||||
# ...............
|
||||
# ...^.^...^.^...
|
||||
# ...............
|
||||
# ..^...^.....^..
|
||||
# ...............
|
||||
# .^.^.^.^.^...^.
|
||||
# ..............."""
|
||||
|
||||
with open("input.txt", "r") as file:
|
||||
input = file.read()
|
||||
|
||||
|
||||
def count_timelines(grid: str) -> int:
|
||||
lines = grid.splitlines()
|
||||
H = len(lines)
|
||||
W = len(lines[0])
|
||||
|
||||
# стартовая колонка S
|
||||
s_col = lines[0].index("S")
|
||||
|
||||
counts = [0] * W
|
||||
counts[s_col] = 1 # одна частица -> один таймлайн в старте
|
||||
|
||||
for i in range(1, H):
|
||||
new = [0] * W
|
||||
row = lines[i]
|
||||
for j, cell in enumerate(row):
|
||||
k = counts[j]
|
||||
if k == 0:
|
||||
continue
|
||||
|
||||
if cell == "^":
|
||||
# splitter: поток не проходит вниз, а расходится влево/вправо
|
||||
if j - 1 >= 0:
|
||||
new[j - 1] += k
|
||||
if j + 1 < W:
|
||||
new[j + 1] += k
|
||||
else:
|
||||
# пусто: идем прямо вниз
|
||||
new[j] += k
|
||||
|
||||
counts = new
|
||||
|
||||
return sum(counts)
|
||||
|
||||
print(count_timelines(input))
|
||||
Reference in New Issue
Block a user