Model subiect olimpiada de informatică, clasa a 10-a, faza județeană

1 – calcule 
    pag. 1 din 1 
Problema  1 – calcule 100 puncte 
 
Gigel a studiat recent şirurile cu  n elemente, numere naturale. Pentru  un astfel de şir  ȘGigel doreşte să a fle 
răspunsul la întrebările: 
 
a) Care este numărul minim de subşiruri strict crescătoare în care se poate partiţiona S? 
b) Care este numărul de secvenţe,  modulo 20011, cu suma elementelor divizibilă cu k care se pot obţine 
din S? 
Cerinţa 
Dându-se un şir S cu n elemente numere naturale şi un număr natural k se cere să se răspundă la cele două 
întrebări.  
Date de intrare 
Pe prima linie a fişierului calcule.in se află valorile naturale n şi k separate printr-un spaţiu. Pe următoarea 
linie se află cele n elemente ale şirului Șnumere naturale separate prin câte un spaţiu. 
 
Date de ieşire 
Fişierul calcule.out va conţine două linii, pe prima linie fiind scris un număr natural reprezentând răspunsul la 
întrebarea a), iar pe a doua, un număr natural  reprezentând răspunsul la întrebarea b). 
 
Restricţii şi precizări: 
• 1 <  n <  100 000 
• S are elemente mai mici sau egale cu 20 000 
• k < 50 000, k <  n 
• Un subşir al şirului S se obţine selectând elemente din S în ordinea în care sunt în Șdar nu obligatoriu 
de pe poziţii consecutive, iar o secvenţă a şirului S se obţine selectând elemente în ordinea în care sunt în 
Șdar  obligatoriu de pe poziţii consecutive. Se admit şi secvenţe sau subşiruri cu un singur element. 
• Pentru 50 % din teste k < 10 000 
• Pentru răspuns corect la o singură cerinţă se acordă 50 % din punctaj.  
• Mai multe subş iruri ale lui  S formează o partiţie dacă elementele reuniunii subşirurilor pot fi reaşezate 
astfel încât să se obţină exact S. 
• x modulo y reprezintă restul împărţirii lui x la y.   
• În situaţia în care nu aţi reuşit să rezolvaţi cerinţ a a), dar aveţi un răspuns pentru b), veţi scrie răspunsul 
pentru cerinţa b) pe linia 2 şi nu pe prima linie!  

2 – zona    pag. 1 din 1 
Problema  2 - zona 100 puncte 
 
Ionuţ pleacă în drumeţie într-o porţiune de teren de formă pătratică cu latura de N metri. O hartă a zonei are trasat 
un caroiaj care împarte zona în N*N pătrate unitate, cu latura de 1 metru. Astfel harta zonei are aspectul  unui 
tablou pătratic cu N linii şi N  coloane. Liniile şi coloan ele sunt numerotate de la 1 la N . Elementele tabloului 
bidimensional corespund pătratelor unitate. Zona poate fi parcursă străbătând oricare dintre laturile pătratelor 
unitate cel mult o singură dată. 
Ionuţ pleacă din punctul aflat în colţul din dreapta jos al pătratului  unitate din linia X, 
coloana Y şi se deplasează făcând un pas (parcurgând o latură a unui pătrat unitate) în 
una din direcţiile Nord, EsțSud, Vest. Pentru a reţine mai uş or t raseul foloseş te 
următoarea codificare pentru cele  4 direcţii: 1 pentru deplasarea spre Nord, 2 pentru 
deplasarea spre Esț3 pentru deplasarea spre Sud, respectiv 4 pentru deplasarea spre Vest.  
Ajuns într-alt punct (colţ de pătrat unitate), Ionuţ continuă să se deplaseze fără a trece de mai multe ori pe 
aceeaşi latură a unui pătrat unitate.  
Ionuţ se opreşte în momentu l în care ajunge într-un punct prin care a mai trecut . Traseul străbătut între cele două 
treceri prin acelaşi punct delimitează o zonă de teren formată din pătrate unitate. 
Cerinţă 
Dându-se linia X ş i coloana Y corespunzătoare poziţiei de pl ecare a lui Ionuţ , dimensiunea zonei N, lungimea 
traseului L şi traseul determinaţi: 
a) Numărul de paşi parcurşi între prima şi a doua trecere prin punctul de oprire. 
b) Numărul de pătrate unitate interioare zonei delimitată de traseul străbătut înt re cele două treceri prin 
acelaşi punct.   
Date de intrare 
Pe prima linie a fişierului zona.in se află  valorile X, Y, N şi L despărţite prin câte un s paţiu, reprezentând 
coordonatele punctului de plecare, dimensiunea terenului şi lungimea traseului parcurs. Pe următoarea linie se află 
L valori din mulţimea {1, 2, 3, 4} despărţite prin câte un spaţiu, reprezentând codificarea întregului traseu. 
 
Date de ieşire 
Fişierul zona.out va conţine două linii, pe prima linie un număr natural reprezentând răspunsul la cerinţa a), iar pe 
linia a doua, un număr natural  reprezentând răspunsul la cerinţa b). 
 
Restricţii şi precizări: 
0 < N < 51,  0 < X, Y < N,  0 < L < 2501. 
- Se garantează faptul că traseul trece de două ori prin acelaşi punct şi nu parcurge de două ori aceeaşi latură. 
- Pentru determinarea corectă a numărului de la punctul a) se acordă 20% din punctaj. 
- Pentru determinarea corectă a numărului de la punctul b) se acordă 80% din punctaj. 
- În situaţia în care nu aţi reuşit să rezolvaţi cerinţa a), dar aveţi un răspuns pentru b), veţi scrie răspunsul pentru 
cerinţa b) pe linia 2 şi nu pe prima linie!