Sunteți pe pagina 1din 1

INSPECTORATUL ŞCOLAR JUDEŢEAN COVASNA

OLIMPIADA DE INFORMATICĂ
ETAPA ZONALĂ
19. februarie 2016.

CLASA a XI-XII-a
SUBIECTUL 2. (100 puncte)

Token
Un programator și-a propus să creeze coduri token verificabile, de exact 6 cifre, aplicând o
metodă inedită. A editat un program cu care a creat o matrice cu n linii și n coloane, în care a
început să introducă numerele naturale de la 1 la n, pe prima linie, apoi următoarele numere
naturale în jos, apoi spre stânga și în sus, urmând o spirală, ca în exemplul de mai jos, ultimul
număr introdus fiind n2:

1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9

Acesta este, desigur, doar un exemplu. Programatorul a creat și alte matrici, cu valori n mult mai
mari. Luând o matrice astfel creată, el a tăiat primele k coloane ale matricei (cele marcate cu gri
în exemplu). Apoi a luat elementele din prima coloană rămasă (cele din chenarul gros) și le-a
adunat (în exemplu, suma obținută este 3+18+25+22+11=79). Dacă suma rezultată a fost un
număr format din mai puțin de 6 cifre, a adăugat un număr de zerouri, astfel ca numărul obținut
să fie de exact 6 cifre. Din suma 79, de exemplu, a obținut astfel codul token 790000. Dacă
suma obținută a avut mai mult de 6 cifre, codul token a fost format ca rest al împărțirii sumei la
1000000.
Cerință
Să se redacteze un program care citește valorile n și k din fișierul token.in, apoi calculează și
înregistrează codul token în fișierul de ieșire token.out, în conformitate cu regula descrisă mai
sus.
Constrângeri și precizări
 Fișierul de intrare va conține două numere naturale, n și k, separate cu un spațiu.
 3≤n≤30000
 0≤k<n
 „Codul token” descris în enunț este un număr natural format din exact 6 cifre.
 În 50% din fișierele de test vom avea n≤500.
Exemplu
token.in token.out
5 2 790000
Timp maxim de execuție: 1 secundă/test.

Etapa zonală - 19 Februarie 2016 Clasa a XI-XII-a

S-ar putea să vă placă și