Untitled
unknown
python
4 months ago
1.7 kB
4
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