Desafío de carpetas (Parte #1)
Un sistema de carpetas en una computadora podría verse como en la imagen de abajo.

En este desafío, los sistemas de carpetas se representarán mediante diccionarios, donde las claves son carpetas X y el valor asociado a X es la lista de subcarpetas de X. Por ejemplo, la imagen anterior se convierte en el siguiente diccionario.
{
"A": ["B", "C", "D"],
"B": ["E", "F"],
"D": ["G", "H"],
"G": ["I", "J"],
"H": ["K"]
}Las entradas para este desafío serán:
- Un diccionario que representa un sistema de carpetas.
- Dos carpetas, X e Y.
Escribe una función que determine si "X está dentro de Y" (en la ilustración, esto significa que puedes desplazarte hacia abajo desde Y hasta X).
Ejemplos
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 los ejemplos anteriores usan el sistema de carpetas de la ilustración, pero las pruebas también usarán otros sistemas de carpetas.
- Para los fines de este desafío, cualquier carpeta está dentro de sí misma, como en el último ejemplo.
- Este desafío tiene una parte 2.