Untitled
unknown
python
a year ago
1.7 kB
15
Indexable
with open('day03 input.txt', 'r') as f:
content = f.read().split()
tabela = [list(line) for line in content]
margem_rl = list('...')
tabela = [margem_rl + line + margem_rl for line in tabela]
margem_du_line = list('.'*(len(tabela[0])))
margem_du = [margem_du_line , margem_du_line , margem_du_line]
tabela = margem_du + tabela + margem_du
soma1 = 0
for l in range(3, len(tabela)-3):
for c in range(3, len(tabela[0])-3):
if tabela[l][c] == 'X':
down_ = 'X' + tabela[l+1][c] + tabela[l+2][c] + tabela[l+3][c]
up___ = 'X' + tabela[l-1][c] + tabela[l-2][c] + tabela[l-3][c]
right = 'X' + tabela[l][c+1] + tabela[l][c+2] + tabela[l][c+3]
left_ = 'X' + tabela[l][c-1] + tabela[l][c-2] + tabela[l][c-3]
dr___ = 'X' + tabela[l+1][c+1] + tabela[l+2][c+2] + tabela[l+3][c+3]
dl___ = 'X' + tabela[l+1][c-1] + tabela[l+2][c-2] + tabela[l+3][c-3]
ur___ = 'X' + tabela[l-1][c+1] + tabela[l-2][c+2] + tabela[l-3][c+3]
ul___ = 'X' + tabela[l-1][c-1] + tabela[l-2][c-2] + tabela[l-3][c-3]
palavras = [down_, up___,right,left_,dr___,dl___,ur___,ul___]
for palavra in palavras:
if palavra == 'XMAS':
soma1 += 1
soma2 = 0
palavras = ('MAS', 'SAM')
for l in range(3, len(tabela)-3):
for c in range(3, len(tabela[0])-3):
if tabela[l][c] == 'A':
diag1 = tabela[l-1][c-1] + 'A' + tabela[l+1][c+1]
diag2 = tabela[l+1][c-1] + 'A' + tabela[l-1][c+1]
if diag1 in palavras and diag2 in palavras:
soma2 += 1
print(soma1, soma2)Editor is loading...
Leave a Comment