Calcolatrice rotta

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.

Descrizione del problema

Francesco ha fatto cadere la sua calcolatrice, e ora non funziona più come dovrebbe! Gli unici tasti funzionanti sono il −-, il ×\times, l'11 e il 22. Per utilizzare la calcolatrice è costretto a partire dal numero 11 o dal numero 22 (premendo il tasto corrispondente) e applicare zero o più volte una delle 44 possibili operazioni funzionanti:

  • sottrarre 11
  • sottrarre 22
  • moltiplicare per 11
  • moltiplicare per 22

Per fare uno scherzo ai suoi amici, vorrebbe raggiungere sulla calcolatrice il numero NN. Quante operazioni deve fare al minimo per farlo?

Nota: premere il tasto 11 o 22 all'inizio conta come un'operazione, inoltre la calcolatrice è danneggiata quindi Francesco è costretto a partire sempre da 11 o 22 (non può ad esempio premere 22 e poi 11 per partire dal numero 2121) e le uniche operazioni ammesse sono quelle precedentemente elencate (non può per esempio moltiplicare o sottrarre 1212 o 2121).

"La calcolatrice di Francesco"

Formato di input

La prima riga del file di input contiene un intero TT, il numero di casi di test. Seguono TT casi di test, numerati da 11 a TT. Ogni caso di test è preceduto da una riga vuota.

Ogni caso di test è composto come segue:

  • una riga contenente l'intero NN.

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: operazioni"

dove test\mathtt{test} è il numero del caso di test (a partire da 11) e l'intero operazioni\mathtt{operazioni} è la risposta al caso di test: il minimo numero di operazioni necessarie per raggiungere NN.

Assunzioni

  • T=10T = 10, nei file di input che scaricherai saranno presenti esattamente 1010 casi di test.
  • 1≤N≤10181 \le N \le 10^{18}.

Esempi di input/output


Input:

2

2

5

13

Output:

Case #1: 1
Case #2: 5
Case #3: 6

Spiegazione

Nel primo caso d'esempio, Francesco può direttamente digitare il 2 quindi farà una sola operazione.

Nel secondo caso d'esempio, Francesco può:

  • digitare 22.
  • moltiplicare per 22 ottenendo 44.
  • moltiplicare per 22 ottenendo 88.
  • sottrarre 22 ottenendo 66.
  • sottrarre 11 ottenendo 55.

Facendo così un totale di 55 mosse.

Nel terzo caso d'esempio, Francesco può:

  • digitare 22.
  • moltiplicare per 22 ottenendo 44.
  • moltiplicare per 22 ottenendo 88.
  • moltiplicare per 22 ottenendo 1616.
  • sottrarre 22 ottenendo 1414.
  • sottrarre 11 ottenendo 1313.

Facendo così un totale di 66 mosse.

Invia soluzione

Accedi per inviare soluzioni
Accedi