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'azioneavanza
sarà sulla roccia .salta
: salta oltre alla prossima roccia, atterrando su quella dopo: se Carol è sulla roccia dopo l'azionesalta
sarà 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:
salta
dalla roccia alla roccia saltando la roccia alta in posizione .avanza
dalla 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:
avanza
dalla roccia alla roccia .avanza
dalla roccia alla roccia .salta
dalla 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:
salta
dalla roccia alla roccia saltando la roccia in posizione .salta
dalla 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:
salta
dalla roccia alla roccia saltando la roccia alta in posizione .avanza
dalla roccia alla roccia .salta
dalla roccia alla bandierina saltando la roccia alta in posizione .