Файловая система PyTown

В мире PyTown файлы на компьютере организованы иначе, чем у нас. Они представлены в виде вложенного словаря, где ключи обозначают имена папок или файлов, а значения — либо словари, представляющие поддиректории, либо строки, обозначающие расширения файлов. Например, упрощённая версия такой системы может выглядеть так:
{
    'home': {
        'myDocs': {
            'file1': 'txt',
            'file2': 'doc',
            'myPics': {
                'pic1': 'jpg',
                'pic2': 'jpg'
            }
        }
    },
    'etc': {
        'configs': {
            'config1': 'cfg',
            'config2': 'cfg'
        }
    }
}
Вам нужно написать рекурсивную программу, которая может проходить через этот вложенный словарь и находить все файлы с определённым расширением.
Первая строка входных данных содержит единственную строку — расширение, которое мы ищем. Следующая строка содержит вложенный словарь, представляющий структуру каталогов PyTown. Словарь задан в виде строки, и вам нужно преобразовать его в словарь для дальнейшей обработки (используйте модуль json для этого).
Программа должна вывести список всех файлов с заданным расширением. Файлы следует указывать с их полным путем, разделённым слешем (/), как в UNIX-подобных файловых системах. Путь должен начинаться с ключа первого уровня до имени файла, разделяя каждый уровень /. Выведите каждый файл на новой строке.
Ввод
Вывод
cfg { "home": { "myDocs": { "file1": "txt", "file2": "doc", "myPics": { "pic1": "jpg", "pic2": "jpg" } } }, "etc": { "configs": { "config1": "cfg", "config2": "cfg" } } }
etc/configs/config1 etc/configs/config2
Примечание: Пути к файлам должны выводиться в порядке их появления во входных данных. Вложенность словарей может быть произвольной глубины.
 

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