[OJI][IX]Card acces

29 Iunie, 2009 la 5:48 289 afisari

Etichete : , , , , , , ,

Bobby este elev in clasa a IX-a. La şcoala unde învaţă pentru o maximă securitate a elevilor s-au introdus carduri de acces în incinta şcolii. Bobby, un băiat isteţ dar foarte zăpăcit a pierdut cardul după câteva zile. Pentru achiziţionarea unui nou card a plătit x bani. După alte câteva zile, Bobby a pierdut din nou cardul. Suma plătită pentru noul card a fost x+1 bani.
După un timp povestea s-a repetat şi dirigintele a hotărât să mărească preţul cardului pentru a-l determina să fie mai atent. El a stabilit ca din acel moment, preţul unui nou card să fie numărul obţinut prin alipirea la ultimul preţ a preţului anterior acestuia.
Bineinţeles că Bobby cel zăpăcit uita de la o dată la alta şi preţul plătit la achiziţionarea unui card.
După câteva astfel de întâmplări nefericite, la un moment dat Bobby a revenit din nou solicitând un nou card. Pentru că preţul a devenit prea mare şi ştiindu-l băiat isteţ dirigintele i-a spus că îl iartă de plata noului card dacă îi spune preţul ultimului card pe care l-a avut. I-a oferit şi câteva indicii: preţul primului card achiziţionat de Bobby, numărul de cifre din preţul cardului pe care tocmai doreşte să-l achiziţioneze şi preţul efectiv ce trebuie plătit de Bobby pentru noul card.

Cerinţă
Scrieţi un program care să îl ajute pe Bobby să dea răspunsul corect.

Date de intrare
Fişierul de intrare card.in conţine pe prima linie două numere, x şi k separate printr-un spaţiu, iar pe a doua linie un număr format din exact k cifre reprezentând preţul noului card ce va fi achiziţionat de Bobby. Cifrele numărului nu sunt separate prin spaţii.

Date de ieşire
Fişierul de ieşire card.out va conţine pe prima linie numărul care reprezintă preţul ultimului card care a fost achiziţionat de Bobby.

Restricţii
• 1< =x<=19
• 1<=k<=5000

Observaţii:

În cazul în care preţul noului card ce va fi achiziţionat de Bobby are mai mult de 1000 cifre el va fi scris în fişierul de intrare pe linii de 1000 cifre, ultima linie rămânând eventual incompletă.
Analog se va proceda cu rezultatul ce va fi afişat în fişierul de ieşire pe linii de 1000 cifre, ultima linie rămânând eventual incompletă.

Exemplu
card.in
[code]2 5
32332
[/code]
card.out
[code]323[/code]

Explicatii
Preţurile plătite de Bobby sunt 2, 3, 32, 323. Preţul noului card ce va fi achizitionat fiind 32332, preţul cardului anterior este 323.

Timp maxim de execuţie/test: 1 secundă

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

Recomandam, pe aceeasi tema

Gaming Arena - blog de gaming

Lasa un comentariu