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