Desafio de pastas (Parte #1)
Um sistema de pastas em um computador poderia ser parecido com a imagem abaixo.

Neste desafio, os sistemas de pastas serão representados por dicionários, nos quais as chaves são pastas X e o valor associado a X é a lista de subpastas de X. Por exemplo, a imagem acima se torna o dicionário a seguir.
{
"A": ["B", "C", "D"],
"B": ["E", "F"],
"D": ["G", "H"],
"G": ["I", "J"],
"H": ["K"]
}As entradas para este desafio serão:
- Um dicionário que representa um sistema de pastas.
- Duas pastas, X e Y.
Escreva uma função que determine se "X está dentro de Y" (na ilustração, isso significa que você pode descer de Y até X).
Exemplos
is_it_inside({
"A": ["B", "C", "D"],
"B": ["E", "F"],
"D": ["G", "H"],
"G": ["I", "J"],
"H": ["K"]
}, "B", "A") ➞ True
is_it_inside({
"A": ["B", "C", "D"],
"B": ["E", "F"],
"D": ["G", "H"],
"G": ["I", "J"],
"H": ["K"]
}, "B", "D") ➞ False
is_it_inside({
"A": ["B", "C", "D"],
"B": ["E", "F"],
"D": ["G", "H"],
"G": ["I", "J"],
"H": ["K"]
}, "I", "D") ➞ True
is_it_inside({
"A": ["B", "C", "D"],
"B": ["E", "F"],
"D": ["G", "H"],
"G": ["I", "J"],
"H": ["K"]
}, "A", "K") ➞ False
is_it_inside({
"A": ["B", "C", "D"],
"B": ["E", "F"],
"D": ["G", "H"],
"G": ["I", "J"],
"H": ["K"]
}, "D", "D") ➞ TrueNotas
- Todos os exemplos acima usam o sistema de pastas da ilustração, mas os testes também usarão outros sistemas de pastas.
- Para os fins deste desafio, qualquer pasta está dentro de si mesma, como no último exemplo.
- Este desafio tem uma parte 2.