--------------------------------------
| PROBLEMA 43: Vechea masina de calcul |
| PUNCTAJ: 60 Dexteri |
| DEADLINE: Luni, 27 Martie |
| TIMP DE IMPLEMENTARE: 60 minute |
| TIMP DE EXECUTIE: 1 sec./test |
--------------------------------------
Tocmai ati gasit o veche masina de calcul care stie doar sa prelucreze
numere. Si nici macar toate numerele. Numai prentru anumite numere, pe care
le vom numi acceptabile, masina noastra va generea ca raspuns un alt numar
pereche.
Pentru a intelege mai bine modul de operare al acestei masini, vom face
urmatoarele notatii:
1. Daca A si B sunt doua numere, atunci AB reprezinta numarul format din
cifrele lui A urmate imediat de cifrele lui B. De exemplu, daca A=234
si B=562, atunci AB=234562;
2. Daca A este un numar, numim asociatul acestui numar, numarul A2A. De
exemplu, pentru A=56, asociatul lui A va fi 56256.
Avand aceste notatii, algoritmul de calcul al acestei masini va fi:
1. Un numar continand cifra 0 nu este acceptabil;
2. Dandu-se un numar A care nu contine cifra 0, atunci numarul 2A va
produce la iesire numarul A. De exemplu 234 produce la iesire 34;
3. Dandu-se 2 numere A si B astfel incat A produce la iesire B, atunci
3A va produce la iesire asociatul lui B. De exemplu daca 25 produce
la iesire 5, atunci 325 va produce la iesire 525;
4. Nici un alt numar care nu poate fi produs folosind cele trei reguli
de mai sus nu este acceptabil.
Sarcina voastra este sa simulati functionarea vechii masini.
Din fisierul "masina.in" se citeste un numar A (A<10^32). Numarul produs
la iesire de A va fi scris in fisierul "masina.out". Daca numarul A nu este
acceptabil, atunci in fisierul de iesire se va scrie "NEACCEPTABIL".
Exemplu:
masina.in masina.out
325 525
masina.in masina.out
2000 NEACCEPTABIL
|
|