Prihlásenie Registrácia  

B1 - Súčet

Časový limit: 2s, Pamäťový limit: 64MiB

Programovacie jazyky: Pascal, C, C++, Java, C++0x, Python 3

Počet bodov: 1

[ Pošli riešenie ] [ Tvoje riešenia ] [ Správne riešenia ] [ Vzorové riešenie ]

Substitučná šifra je druh šifry, pri ktorej dochádza k zámene (substitúcii) istej množiny symbolov za inú množinu symbolov. V tejto úlohe budeme uvažovať šifru, ktorá zamieňa cifry za písmená. Šifrovanie funguje podľa substitučnej tabuľky, ktorá každej cifre priradí práve jedno písmeno (veľkej anglickej abecedy), pričom žiadnym dvom cifrám nepriradí to isté písmeno. Príklad takejto tabuľky:

0123456789
REFGHPINST
Ak teraz chceme zašifrovať číslo 158, dostaneme reťazec EPS.

Úloha

Je zadaný súčet dvoch čísel v zašifrovanom tvare (napr. STROM+PALMA). Vašou úlohou je nájsť substitučnú tabuľku, pri ktorej je súčet týchto čísel najväčší možný.

Vstup

Prvý riadok vstupu obsahuje kladné celé číslo Q, (1≤Q≤1000), určujúce počet testovacích sád. Každý z nasledujúcich Q riadkov bude obsahovať dva reťazce, zložené z veľkých písmen anglickej abecedy ('A'-'Z'). Naviac môžete predpokladať, že v jednom riadku vstupu sa nachádza maximálne 10 rôznych písmen.

Výstup

Pre každú inštanciu vstupu dosaďte za písmená cifry 0-9 tak, aby sme dostali čísla v desiatkovej sústave, ktorých súčet je čo najväčší. Žiadne číslo nesmie začínať cifrou 0. V prípade, že existuje viacero správnych odpovedí, vypíšte to, v ktorom je prvé číslo čo najväčšie.

B1

Každý reťazec na vstupe má dĺžku maximálne 5 znakov.

B2

Každý reťazec na vstupe má dĺžku maximálne 100 znakov.

Príklad

Vstup:

5
STROM PALMA
ABC ADA
ZIMA RAMON
AB BA
JIHGFEDCBA A

Výstup:

96523 87437
986 979
7568 98643
98 89
9876543201 1
Poznámka: Posledný riadok nášho vstupu vyhovuje len podmienkam podúlohy B2, keďže sa v ňom nachádza reťazec dĺžky 10.