[OJI][IX]Card acces
1Bobby este elev in clasa a IX-a. La scoala unde invata pentru o maxima securitate a elevilor s-au introdus carduri de acces in incinta scolii. Bobby, un baiat istet dar foarte zapacit a pierdut cardul dupa cateva zile. Pentru achizitionarea unui nou card a platit x bani. Dupa alte cateva zile, Bobby a pierdut din nou cardul. Suma platita pentru noul card a fost x+1 bani.
Dupa un timp povestea s-a repetat si dirigintele a hotarat sa mareasca pretul cardului pentru a-l determina sa fie mai atent. El a stabilit ca din acel moment, pretul unui nou card sa fie numarul obtinut prin alipirea la ultimul pret a pretului anterior acestuia.
Bineinteles ca Bobby cel zapacit uita de la o data la alta si pretul platit la achizitionarea unui card.
Dupa cateva astfel de intamplari nefericite, la un moment dat Bobby a revenit din nou solicitand un nou card. Pentru ca pretul a devenit prea mare si stiindu-l baiat istet dirigintele i-a spus ca il iarta de plata noului card daca ii spune pretul ultimului card pe care l-a avut. I-a oferit si cateva indicii: pretul primului card achizitionat de Bobby, numarul de cifre din pretul cardului pe care tocmai doreste sa-l achizitioneze si pretul efectiv ce trebuie platit de Bobby pentru noul card.
Cerinta
Scrieti un program care sa il ajute pe Bobby sa dea raspunsul corect.
Date de intrare
Fisierul de intrare card.in contine pe prima linie doua numere, x si k separate printr-un spatiu, iar pe a doua linie un numar format din exact k cifre reprezentand pretul noului card ce va fi achizitionat de Bobby. Cifrele numarului nu sunt separate prin spatii.
Date de iesire
Fisierul de iesire card.out va contine pe prima linie numarul care reprezinta pretul ultimului card care a fost achizitionat de Bobby.
Restrictii
• 1< =x<=19
• 1<=k<=5000
Observatii:
In cazul in care pretul noului card ce va fi achizitionat de Bobby are mai mult de 1000 cifre el va fi scris in fisierul de intrare pe linii de 1000 cifre, ultima linie ramanand eventual incompleta.
Analog se va proceda cu rezultatul ce va fi afisat in fisierul de iesire pe linii de 1000 cifre, ultima linie ramanand eventual incompleta.
Exemplu
card.in
[code]2 5
32332
[/code]
card.out
[code]323[/code]
Explicatii
Preturile platite de Bobby sunt 2, 3, 32, 323. Pretul noului card ce va fi achizitionat fiind 32332, pretul cardului anterior este 323.
Timp maxim de executie/test: 1 secunda
Solutia este evidenta si necesita construirea valorii pana atingem cele k cifre ale numarului dorit pornind de la primul numar.Cand este atins punctul se afiseaza solutia pana la al 1000-lea element.
Solutie la problema Card Acces
Daca acest articol contine o greseala, selecteaza cuvintele sau fraza gresita si tasteaza combinatia de taste Shift + Enter sau apasa click aici pentru a o raporta. Multumim!
Problema asta am intalnit-o in varianta 100 de BAC … variantele din 2009. Am rezolvat-o recursiv, dar nu stiu cat de eficient este