Una Hermosa Organización de Tareas

Como el nuevo gerente de proyectos en una empresa tecnológica de rápido crecimiento, te han asignado la responsabilidad de manejar una lista de tareas compleja y diversa. Sin embargo, esta lista no es una simple lista plana, sino una jerárquica, donde cada tarea puede tener múltiples subtareas asociadas. Las tareas y subtareas se representan en una lista anidada donde cada elemento es una tarea individual (como una cadena de texto) o una lista de subtareas.
Tu desafío es escribir una función recursiva que navegue por esta jerarquía e imprima todas las tareas y subtareas en el orden en que aparecen en la lista anidada. Para mejorar la legibilidad y facilitar la comprensión, cada subtarea debe estar indentada con una tabulación más que su tarea padre.
La entrada será una lista anidada de n tareas y subtareas. Cada elemento de la lista es una tarea (como una cadena de texto) u otra lista que representa subtareas. Puedes cargar la lista con eval(input()) o json.loads(...).
El programa debe imprimir todas las tareas y subtareas como cadenas de texto, en el orden en que aparecen en la lista. Cada subtarea debe estar indentada con una tabulación más que su tarea padre.
Entrada
Salida
["Task 1", ["Subtask 1.1", "Subtask 1.2", ["Subtask 1.2.1", "Subtask 1.2.2"], "Subtask 1.3"], "Task 2", ["Subtask 2.1"]]
Task 1 Subtask 1.1 Subtask 1.2 Subtask 1.2.1 Subtask 1.2.2 Subtask 1.3 Task 2 Subtask 2.1
Nota: En la salida, cada tabulación se representa como un carácter \t. Además, el orden de las tareas y subtareas en la salida debe seguir su orden en la lista anidada de entrada.
 

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