Advent of Code 2022 - Dia 21
No contexto deste outro conteúdo: https://www.tabnews.com.br/tcarreira/advent-of-code-2022-desafios-de-programacao (se gostarem deste conteúdo, votem no original, para que ele fique visível durante o tempo do AoC)
--- Dia 21: Matemática de Macaco ---
Os macacos estão de volta! Você está preocupado que eles tentem roubar suas coisas novamente, mas parece que eles estão apenas mantendo a posição e fazendo vários barulhos de macaco para você.
Eventualmente, um dos elefantes percebe que você não fala macaquês e vem interpretar. Acontece que eles ouviram você falando sobre tentar encontrar o arvoredo; eles podem mostrar um atalho se você responder ao seu enigma.
Cada macaco recebe uma tarefa: ou gritar um número específico ou gritar o resultado de uma operação matemática. Todos os macacos que gritam números sabem seu número desde o início; no entanto, os macacos da operação matemática precisam esperar que dois outros macacos gritem um número, e esses dois outros macacos podem também estar esperando por outros macacos.
Sua tarefa é calcular o número que o macaco chamado root
gritará antes que os macacos descubram sozinhos.
Por exemplo:
root: pppw + sjmn
dbpl: 5
cczh: sllz + lgvd
zczc: 2
ptdq: humn - dvpt
dvpt: 3
lfqf: 4
humn: 5
ljgn: 2
sjmn: drzm * dbpl
sllz: 4
pppw: cczh / lfqf
lgvd: ljgn * ptdq
drzm: hmdt - zczc
hmdt: 32
Cada linha contém o nome de um macaco, dois pontos e, em seguida, a tarefa desse macaco:
-
Um número solitário significa que a tarefa do macaco é simplesmente gritar aquele número.
-
Uma tarefa como
aaaa + bbbb
significa que o macaco espera que os macacosaaaa
ebbbb
gritem cada um de seus números; o macaco então grita a soma desses dois números. -
aaaa - bbbb
significa que o macaco grita o número deaaaa
menos o número debbbb
. -
A tarefa
aaaa * bbbb
significa que o macaco grita o número deaaaa
multiplicado pelo número debbbb
. -
A tarefa
aaaa / bbbb
significa que o macaco grita o número deaaaa
dividido pelo número debbbb
.
Então, no exemplo acima, o macaco drzm
tem que esperar que os macacos hmdt
e zczc
gritem seus números. Felizmente, tanto hmdt
quanto zczc
têm tarefas que envolvem simplesmente gritar um único número, então eles fazem isso imediatamente: 32
e 2
. O macaco drzm
pode então gritar seu número encontrando 32
menos 2
: 30
.
Depois, o macaco sjmn
tem um de seus números (30
, do macaco drzm
), e também já tem seu outro número, 5
, de dbpl
. Isso permite que ele grite seu próprio número encontrando 30
multiplicado por 5
: 150
.
Este processo continua até que root
grite um número: 152
.
No entanto, sua situação real envolve consideravelmente mais macacos. Que número o macaco chamado root
gritará?
--- Parte Dois ---
https://github.com/tcarreira/aoc2022/tree/main/day21#----parte-dois----
(saber a parte 2 antes de fazer a parte 1 não é tão divertido. Então vou deixar apenas o link para o Github 😉)
Outros links:
- https://adventofcode.com/2022/day/21
- Código, soluções e traduções: github.com/tcarreira/aoc2022
- Live streaming
- Playlists no youtube
- senha do Private Leaderboard:
827447-e95d42f1