Sistema de Archivos de PyTown

En el mundo de PyTown, los archivos en una computadora se organizan de una manera diferente a la nuestra. Están estructurados en un diccionario anidado donde las claves representan los 'nombres de carpetas' o 'nombres de archivos', y los valores son ya sea diccionarios que representan 'subcarpetas' o cadenas que representan 'extensiones de archivos'. Por ejemplo, una versión simplificada del sistema podría verse así:
{
    'home': {
        'myDocs': {
            'file1': 'txt',
            'file2': 'doc',
            'myPics': {
                'pic1': 'jpg',
                'pic2': 'jpg'
            }
        }
    },
    'etc': {
        'configs': {
            'config1': 'cfg',
            'config2': 'cfg'
        }
    }
}
Tu tarea es escribir un programa recursivo que pueda navegar a través de este diccionario anidado y encontrar todos los archivos que terminan con una extensión particular.
La primera línea de la entrada contiene una sola cadena que representa la extensión que estamos buscando. La siguiente línea contiene el diccionario anidado que representa la estructura de directorios de PyTown. El diccionario se proporciona como una cadena, y necesitas convertirlo a un diccionario para su posterior procesamiento (usa el módulo json para hacerlo).
El programa debe mostrar una lista de todos los archivos que tienen la extensión dada. Los archivos deben representarse por su ruta completa separada por una barra (/), similar a los sistemas de archivos basados en UNIX. La ruta debe comenzar desde la clave de primer nivel hasta el nombre del archivo, cada uno separado por una /. Imprime cada archivo en una nueva línea.
Entrada
Salida
cfg { "home": { "myDocs": { "file1": "txt", "file2": "doc", "myPics": { "pic1": "jpg", "pic2": "jpg" } } }, "etc": { "configs": { "config1": "cfg", "config2": "cfg" } } }
etc/configs/config1 etc/configs/config2
Nota: Las rutas de los archivos deben estar en el orden de su aparición en la entrada. El anidamiento de los diccionarios puede ser de profundidad arbitraria.
 

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue