Une Belle Organisation des Tâches
En tant que nouveau chef de projet dans une entreprise technologique en pleine expansion, vous êtes chargé de gérer une liste de tâches complexe et variée. Cette liste n'est toutefois pas simplement plate, mais plutôt hiérarchique, où chaque tâche peut potentiellement avoir plusieurs sous-tâches associées. Les tâches et les sous-tâches sont représentées dans une liste imbriquée où chaque élément est soit une tâche unique (sous forme de chaîne de caractères), soit une liste de sous-tâches.
Votre défi est d'écrire une fonction récursive qui naviguera dans cette hiérarchie et affichera toutes les tâches et sous-tâches dans l'ordre où elles apparaissent dans la liste imbriquée. Pour faciliter la lisibilité et la compréhension, chaque sous-tâche doit être indentée d'une tabulation de plus que sa tâche parente.
L'entrée sera une liste imbriquée de n tâches et sous-tâches. Chaque élément de la liste est soit une tâche (sous forme de chaîne de caractères), soit une autre liste représentant des sous-tâches. Vous pouvez charger la liste avec
eval(input())
ou json.loads(...)
.Le programme doit afficher toutes les tâches et sous-tâches sous forme de chaînes de caractères, dans l'ordre où elles apparaissent dans la liste. Chaque sous-tâche doit être indentée d'une tabulation de plus que sa tâche parente.
Entrée | Sortie |
["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 |
Remarque: Dans la sortie, chaque tabulation est représentée par un caractère
\t
. De plus, l'ordre des tâches et sous-tâches dans la sortie doit suivre leur ordre dans la liste imbriquée d'entrée.Constraints
Time limit: 2 seconds
Memory limit: 512 MB
Output limit: 1 MB