Attenzione: Questo task ha un tempo limite di 10 minuti per l'invio della soluzione. Una volta richiesto un input, il timer partirà in automatico, e dopo la scadenza non sarà più possibile inviare una soluzione per quell'input. È sempre possibile richiedere un nuovo input, per cui non preoccuparti se il timer scade: dovrai semplicemente richiedere e scaricare un nuovo input.
Per aiutarti con questo task, abbiamo preparato delle tracce di soluzione, che includono solo le parti di lettura dell'input e scrittura dell'output (da tastiera e su schermo). Puoi decidere se leggere/scrivere su file decommentando le opportune righe di codice.
- Scarica la traccia in C: saltatutto.c
- Scarica la traccia in C++: saltatutto.cpp
- Scarica la traccia in C#: saltatutto.cs
- Scarica la traccia in Go: saltatutto.go
- Scarica la traccia in JavaScript: saltatutto.html
- Scarica la traccia in Java: saltatutto.java
- Scarica la traccia in Pascal: saltatutto.pas
- Scarica la traccia in Python: saltatutto.py
- Scarica la traccia in VisualBasic: saltatutto.vb
Descrizione del problema
Carol si è iscritta ad una gara di corsa ad ostacoli! Il percorso si svolge su una sequenza di rocce di lunghezza . Le rocce possono essere piatte o alte: si può stare solo sulle rocce piatte, mentre le rocce alte sono gli ostacoli ed è possibile solo saltarle. Carol sa che se si avanza o atterra su una roccia alta si cade, perdendo la gara. Carol può fare le seguenti azioni:
avanza: avanza alla roccia successiva: se Carol è sulla roccia dopo l'azioneavanzasarà sulla roccia .salta: salta oltre alla prossima roccia, atterrando su quella dopo: se Carol è sulla roccia dopo l'azionesaltasarà sulla .

Carol si trova sulla roccia numero e lo scopo della gara è raggiungere la bandierina alla fine della sequenza di rocce dopo la roccia . Il percorso di rocce è descritto da numeri. Se l'-esima roccia è alta l'-esimo numero sarà altrimenti sarà .
Per aiutare Carol le vuoi consegnare un bigliettino con su scritto le azioni da fare per superare il percorso!
Carol leggerà le lettere sul bigliettino una alla volta: farà un'azione salta ogni volta che leggerà una S e farà un'azione avanza ogni volta che leggerà una A. Cosa dovrai scrivere sul bigliettino per aiutare Carol a superare il percorso?
Formato di input
La prima riga del file di input contiene un intero , il numero di casi di test. Seguono casi di test, numerati da a . Ogni caso di test è preceduto da una riga vuota.
Ogni caso di test è composto come segue:
- una riga contenente l'intero .
- una riga contenente gli interi .
Formato di output
Il file di output deve contenere la risposta ai casi di test che sei riuscito a risolvere. Per ogni caso di test che hai risolto, il file di output deve contenere una riga con la dicitura "Case #test: ", dove test è il numero del caso di test (a partire da ), , seguita dalla sequenza di lettere S e A
che vuoi scrivere sul biglietto da dare a Carol.
Assunzioni
- , nei file di input che scaricherai saranno presenti esattamente casi di test.
- .
- .
- È garantito che esista una sequenza di azioni per arrivare alla bandierina.
Esempi di input/output
Input:
3
3
0 1 0
4
0 0 0 1
5
0 1 0 0 1
Output:
Case #1: SA
Case #2: AAS
Case #3: SAS
Spiegazione
Nel primo caso di esempio, Carol deve superare il percorso in figura:

Il bigliettino che dovrai dare a Carol conterrà la scritta SA. Carol leggendolo farà le seguenti azioni:
saltadalla roccia alla roccia saltando la roccia alta in posizione .avanzadalla roccia alla bandierina alla fine del percorso.
Nel secondo caso di esempio, Carol deve superare il percorso in figura:

Sul bigliettino che darai a Carol potresti scrivere AAS. Carol leggendolo farebbe le seguenti azioni:
avanzadalla roccia alla roccia .avanzadalla roccia alla roccia .saltadalla roccia alla bandierina saltando la roccia alta in posizione .
Per lo stesso percorso sul bigliettino avresti potuto anche scrivere SS. Carol leggendolo farebbe le seguenti azioni:
saltadalla roccia alla roccia saltando la roccia in posizione .saltadalla roccia alla bandierina saltando la roccia alta in posizione .
Nel terzo caso di esempio, , Carol deve superare il percorso in figura:

Sul bigliettino che darai a Carol potresti scrivere SAS. Carol leggendolo farà le seguenti azioni:
saltadalla roccia alla roccia saltando la roccia alta in posizione .avanzadalla roccia alla roccia .saltadalla roccia alla bandierina saltando la roccia alta in posizione .