Selezioni regionali 2008
Codici e pizzini (pizzini)
Difficoltà D = 1.
Descrizione del problema
Il Commissario Basettoni è riuscito a localizzare il nascondiglio del
pericoloso Gambadilegno. Facendo irruzione nel covo, Basettoni trova una serie
di foglietti (detti "pizzini") che riportano, cifrati, i codici di accesso ai
conti correnti del gruppo di malavitosi capeggiato da Gambadilegno.
Il Commissario Basettoni chiede aiuto a Topolino per interpretare questi
pizzini. Dopo approfondite analisi, Topolino scopre le seguenti cose:
- ogni pizzino contiene N righe e ciascuna riga è una sequenza di
cifre decimali ('0', '1', ..., '9') concatenate senza spazi intermedi (quindi
la sequenza 0991, come tale, non va interpretata come il numero 991);
- ogni pizzino riporta, cifrato, un codice di accesso a N cifre;
- tale codice si ottiene concatenando una dopo l'altra, senza spazi
intermedi, le cifre estratte dalle N sequenze scritte nel pizzino,
più precisamente, una cifra per ogni sequenza;
- la cifra da estrarre per ciascuna sequenza è quella in posizione
p, dove p è il numero di anagrammi che, per tale
sequenza, appaiono nel pizzino.
Un anagramma di una sequenza
S è ottenuto permutando le sue cifre (per esempio, 1949 e 9419 sono
anagrammi); inoltre, S è anagramma di se stessa. Quindi Topolino
deduce che, per calcolare il numero p di anagrammi di S,
deve includere S tra i suoi anagrammi contenuti nel pizzino. In
questo modo, p = 1 indica che una sequenza non ha altri anagrammi, a
parte se stessa, per cui va estratta la sua prima cifra.
Per illustrare quanto descritto sopra a Basettoni, Topolino prende un pizzino
che contiene i tre anagrammi 1949, 9419 e 9149 (e non ce ne sono altri) e ne
estrae la loro terza cifra, ossia 4, 1 e 4, poiché p = 3; poi, prende
un altro pizzino con due soli anagrammi 1949 e 9419, estraendone la seconda
cifra, ossia 9 e 4, poiché p = 2. Utilizzando questo meccanismo di
estrazione delle cifre, aiutate Topolino a decifrare i pizzini di Gambadilegno
trovati da Basettoni.
Dati di input
Il file input.txt è composto da N+1 righe.
La prima riga contiene un intero positivo che rappresenta il numero
N di sequenze contenute nel pizzino.
Ciascuna delle successive N righe contiene una sequenza di cifre
decimali ('0', '1', ..., '9') senza spazi intermedi.
Dati di output
Il file output.txt è composto da una sola riga contenente una
sequenza di N cifre decimali, senza spazi intermedi, ossia il codice
di accesso cifrato nel pizzino.
Assunzioni
- 1 ≤ N ≤ 100.
- Ogni sequenza contiene al massimo 80 cifre decimali.
- Le sequenze contenute in uno stesso pizzino sono tutte diverse tra di
loro.
- Una sequenza di K cifre decimali presenta al massimo
K anagrammi in uno stesso pizzino. Inoltre, tali anagrammi non
necessariamente appaiono in righe consecutive del pizzino.
Esempi di input/output
File
input.txt |
File
output.txt |
6
1949
21
9419
12
4356373
9149
|
411244
|
File
input.txt |
File
output.txt |
4
022
524
322
742
|
0537
|
Nota/e
- Un programma che restituisce sempre lo stesso valore, indipendentemente
dai dati in input.txt, non totalizza alcun
punteggio.