rotire25

Time limit: 0.1s Memory limit: 64MB Input: rotire25.in Output: rotire25.out

George a primit ca temă la matematică următoarea problemă. Se dă un număr XX, asupra acestui număr se pot face următoarele transformări:

  1. În această ordine (toți acești 33 pași reprezintă o transformare):
    • se înmulțește numărul cu 55 (de exemplu: X=416X=416 devine 4165=2080416 \cdot 5 = 2080)
    • se elimină toate zerourile din număr (20802080 devine 2828)
    • se oglindește numărul (2828 devine 8282)
  2. În această ordine (toți acești 33 pași reprezintă o transformare):
    • se înmulțește numărul cu 22 (de exemplu: X=32X = 32 devine 322=6432 \cdot 2 = 64)
    • se elimină toate zerourile din număr (6464 rămâne 6464)
    • se oglindește numărul (6464 devine 4646)

George trebuie să aplice alternativ cele două transformări asupra numărului XX. Prima dată aplică transformarea 11, apoi pe rezultatul obținut se aplică transformarea 22, apoi pe rezultat se aplică iar transformarea 11, apoi iar transformarea 22 și așa mai departe. George trebuie să aplice asupra numărului XX exact KK transformări, în ordinea descrisă mai sus.

Cerință

Dându-se numerele XX și KK determinaţi:

  1. Produsul dintre ultima cifră a numărului XXXXX \cdot X \cdot X \cdot \ldots \cdot X (de KK ori) şi prima cifră a lui XX.
  2. Numărul rezultat după aplicarea celor KK transformări.

Date de intrare

Pe prima linie a fișierului de intrare rotire25.in se află trei numere separate prin câte un spațiu C,XC, X și KK. Dacă C=1C=1 se va rezolva doar prima cerință, iar dacă C=2C=2 se va rezolva doar a doua cerință.

Date de ieșire

Fișierul de ieșire rotire25.out va conține un singur număr. Dacă C=1C = 1, acest număr reprezintă rezultatul pentru prima cerinţă, iar dacă C=2C = 2, acest număr reprezintă rezultatul pentru a doua cerință.

Restricții și precizări

  • 1X9991 \leq X \leq 999;
  • 1K1 000 000 0001 \leq K \leq 1 \ 000 \ 000 \ 000;
  • Pentru teste în valoare de 2929 de puncte, C=1C = 1.
  • Pentru teste în valoare de 7171 de puncte, C=2C = 2.
  • Pentru teste în valoare de 77 puncte, C=1C = 1 și se garantează că numărul obținut în urma înmulțirilor este 1018\leq {10}^{18} (1 000 000 000 000 000 0001 \ 000 \ 000 \ 000 \ 000 \ 000 \ 000).
  • Pentru alte teste în valoare de 1111 puncte: C=1C = 1 și K100 000K \leq 100 \ 000.
  • Pentru teste în valoare de 3939 de puncte: C=2C = 2 și K100 000K \leq 100 \ 000.
  • Pentru alte teste în valoare de 99 puncte: C=2C = 2 și X9X \leq 9.

Exemplul 1

rotire25.in

1 27 3

rotire25.out

6

Explicație

Se rezolvă cerinţa 11: X=27,K=3X = 27, K = 3. 272727=19 683    27 \cdot 27 \cdot 27 = 19 \ 683 \implies ultima cifră este 33. Prima cifră a lui 2727 este 22, deci rezultatul este 23=62 \cdot 3 = 6

Exemplul 2

rotire25.in

2 13 3

rotire25.out

551

Explicație

Pentru al doilea exemplu, se rezolvă cerința 22: X=13,K=3X = 13, K = 3.
Se fac următoarele transformări:

  • 135=6513 \cdot 5 = 65, scoatem zerourile și rotim     56\implies 56;
  • 562=11256 \cdot 2 = 112, scoatem zerourile și rotim     211\implies 211;
  • 2115=1055211 \cdot 5 = 1055, scoatem zerourile     155\implies 155; rotim     551\implies 551;

Exemplul 3

rotire25.in

2 42 1782321

rotire25.out

12

Explicație

Se rezolvă cerinţa 22: X=42,K=1782321X = 42, K = 1782321.
După ce se fac cele KK transformări se ajunge la numărul 1212.

Log in or sign up to be able to send submissions!