Una Elegante Organizzazione delle Attività

Come nuovo project manager in una società tecnologica in rapida crescita, ti viene affidata la responsabilità di gestire un elenco di attività complesso e variegato. Questo elenco, tuttavia, non è una semplice lista piatta ma piuttosto una gerarchia, dove ogni attività può avere multiple sottoattività associate. Le attività e le sottoattività sono rappresentate in una lista annidata dove ogni elemento è o una singola attività (come stringa) o una lista di sottoattività.
La tua sfida è scrivere una funzione ricorsiva che navighi attraverso questa gerarchia e stampi tutte le attività e sottoattività nell'ordine in cui appaiono nella lista annidata. Per rendere il tutto più leggibile e facile da comprendere, ogni sottoattività dovrebbe essere indentata con un tab in più rispetto alla sua attività principale.
L'input sarà una lista annidata di n attività e sottoattività. Ogni elemento della lista è o un'attività (come stringa) o un'altra lista che rappresenta le sottoattività. Puoi caricare la lista con eval(input()) o json.loads(...).
Il programma dovrebbe stampare tutte le attività e sottoattività come stringhe, nell'ordine in cui appaiono nella lista. Ogni sottoattività dovrebbe essere indentata con un tab in più rispetto alla sua attività principale.
Input
Output
["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: Nell'output, ogni tab è rappresentato come un carattere \t. Inoltre, l'ordine delle attività e sottoattività nell'output dovrebbe seguire il loro ordine nella lista annidata di input.
 

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