Sunteți pe pagina 1din 8

Inspectoratul colar Judeean Prahova

Olimpiada local de Informatic subiecte

30 ianuarie 2016

Clasa a IX-a
Problema 1 - coduri
100 puncte
n urma inundaiilor din aceast iarn, COFFESHOP a suferit cteva pierderi eseniale. Unele
materiale au fost luate de ape, iar documentele de nregistrare deteriorate. Pentru estimarea pagubelor s-a
pornit la realizarea unor liste cu produsele existente n depozit. Singurele documente recuperate parial au
fost listingurile codurilor produselor i ale codurilor de bare.
Fiecare produs are un un cod reprezentnd un numr n baz 16. Codul de bare asociat fiecrui
produs este numrul obinut prin conversia codului produsului n baza 2. Pentru un produs se cunoate fie
codul produsului, fie codul de bare. n cazul produselor ale cror coduri nu sunt total vizibile, cifrele care
nu se vad sunt marcate cu 'X'.
Cerine: Fiind date numerele naturale N, H i D, reprezentnd numrul de produse, numrul de cifre
pentru codurile produselor, respectiv numrul de cifre pentru codurile de bare i cele N coduri, s se
determine:
a) Pentru fiecare produs pentru care se cunoate unul dintre cele dou coduri, codul care lipsete,
adic codul de bare - dac este specificat codul produsului, respectiv codul produsului - dac este
precizat codul de bare. Pentru produsele pentru care nu se cunoate cu exactitate niciunul dintre
coduri, se va determina, dac este posibil, codul produsului.
b) Numrul de coduri indescifrabile.
Date de intrare: Fiierul de intrare coduri.in conine pe prima linie desprite printr-un spaiu, trei
numere naturale N, H, D. ncepnd cu a doua linie, pe urmtoarele N linii se gsesc N coduri, precedate
de caracterul 'H' pentru codurile produselor, 'D' pentru codurile de bare sau 'U' (unknown) pentru
produsele ale cror coduri sunt indescifrabile. n cazul n care, pentru un produs nu se cunoate cu
exactitate niciunul din coduri, fiierul de intrare conine pe linia corespunztoare caracterul 'U', urmat de
codul produsului i codul de bare, cifrele indescifrabile fiind marcate cu 'X'. Pentru codurile
indescifrabile, n fiierul de intrare, este scris caracterul 'U', urmat de H cifre hexazecimale i D cifre
binare.
Date de ieire
Fiierul de ieire coduri.out va avea N+1 linii. Pe primele N linii vor fi trecute codurile lips ale
produselor n ordinea citirii din fiierul de intrare, codul produsului n cazul n care o parte din cifre sunt
indescifrabile, dar pot fi reconstituite din codul de bare, respectiv 0 n cazul n care codul nu poate fi
reconstituit. Pe ultima linie se va afia numrul de coduri indescifrabile.
Restricii i precizri

;
;
;
Codurile produselor sunt cuprinse n intervalul
Pentru reprezentarea codurilor n hexazecimal se folosesc majuscule.
Exemple
coduri.in

coduri.out Explicaie

528
HB1
D01011100
D00110101
H23
HA3

10110001
5C
35
00100011
10100011
0

Pe al doilea rnd, numrul este n baz 16, adic reprezint codul produsului, iar
.
Pe al treilea rnd numrul este n baz 2, adic reprezint codul de bare, iar
.
Pe al patrulea rnd, numrul este n baz 2, adic reprezint codul de bare, iar
.
Pe al cincelea rnd, numrul este n baz 16, adic reprezint codul produsului, iar
.
Pe al aselea rnd, numr este n baz 16, adic reprezint codul produsului, iar
.
Pe ultimul rnd se afieaz 0, deoarece nu sunt coduri indescifrabile.

Inspectoratul colar Judeean Prahova


Olimpiada local de Informatic subiecte

coduri.in

30 ianuarie 2016

coduri.out Explicaie

Pe al doilea rnd, numrul este n baz 16, adic reprezint codul produsului, iar
.
Pe al treilea rnd numrul este n baz 2, adic reprezint codul de bare, iar
.
Pe al patrulea rnd, numrul este parial indescifrabil, adic prima cifr din codul
produsului nu este vizibil, dar poate fi reconstituit din codul de bare, codul
produsului fiind
.
Pe al cincelea rnd, numrul este n baz 16, adic reprezint codul produsului, iar
.
Pe al aselea rnd, numrul este parial indescifrabil, adic a doua cifr din codul
produsului nu este vizibil i nu poate fi reconstituit din codul de bare, deoarece
cifra a cincea este de asemenea indescifrabil. Se afieaz 0.
Pe al aptelea rnd, numrul este parial indescifrabil, adic a doua cifr din codul
produsului nu este vizibil, dar poate fi reconstituit din codul de bare, codul
produsului fiind
.
Pe al optulea rnd, numrul este parial indescifrabil, adic prima cifr din codul
produsului nu este vizibil i nu poate fi reconstituit din codul de bare, deoarece
prima cifr a acestuia este de asemenea indescifrabil. Se afieaz 0.
Pe ultimul rnd se afieaz 2, deoarece sunt 2 coduri indescifrabile.
Timp maxim de execuie: 1 secund/test. Memorie total disponibil 1 MB, din care 1 MB pentru stiv
Dimensiunea maxim a sursei: 5 KB.
728
HB1
D11111111
UX00000X000
HA3
UBX1011X010
UBX10110011
UX1X0000001

10110001
FF
00
10100011
0
B3
0
2

Prof. Nstase Luminita- Colegiul Naional Nichita Stnescu Ploiesti

Inspectoratul colar Judeean Prahova


Olimpiada local de Informatic subiecte

30 ianuarie 2016

Clasa a IX-a

0,29

101,120

200,300

670,750

501,607

349,450

451,500

608,642

803,862

900,
902

46,100 130,180

800,
802

Problema 2 - BUNICUL
100 puncte
Se scutur din salcmi o ploaie de miresme.
Bunicul st pe prisp. Se gndete. La ce se gndete? La nimic. nnumr florile care cad. Se
uit-n fundul grdinii. Se scarpin-n cap. Iar nnumr florile scuturate de adiere. Pletele lui albe i
cree parc sunt nite ciorchini de flori albe; sprncenele, mustile, barba peste toate au nins anii
muli i grei.
Numai ochii bunicului au rmas ca odinioar: blnzi i mngietori. Cine trnti poarta?
O, voinicii moului!
Un bietan -o feti, roii i buclai, srutar mnele lui tata-mou. Btrnul coprinse ntr-o
mn pe fat i n cealalt pe biat.
La ce te gndeti bunicule? (Barbu tefnescu Delavrancea Bunicul)
Numrnd florile, m gndeam la execuia unui program care calculeaz formula fericirii. Am o
problem cu alocarea memoriei. n unele cazuri programul poate rula, iar n altele nu. Programul
funcioneaz corect dac se aloc memorie n primul spaiu liber din zona de date, n ordinea n care
variabilele sunt declarate. De asemenea, adresa de memorie a unei variabile succede adresa de memorie a
oricrei variabile declarate naintea ei.

903,1002

1010,1050

1051,1150

Cerine
Cunoscnd dimensiunea memoriei M, numrul de zone ocupate N, numrul R de variabile declarate, cele
N intervalele de memorie ocupate, precum i spatiul ocupat de fiecare din cele R variabile, s se
determine:
a) Dimensiunea total disponibil pentru variabilele folosite.
b) Adresele de memorie pentru fiecare variabil n parte n cazul n care alocarea memoriei este
posibil, respectnd cerina problemei, sau numrul de variabile ce au putut fi alocate i adresa
maxim la care este salvat o variabil de memorie.
Date de intrare
Fiierul de intrare bunicul.in conine pe prima linie, desprite printr-un spaiu, trei numere
naturale M, N i R. Pe urmtoarele N linii cte dou numere reprezentnd intervalele de memorie
ocupat. Pe linia N+2 sunt cele R numere reprezentnd spaiul ocupat de fiecare variabil n parte n
ordinea n care vor fi alocate.
Date de ieire
Fiierul de ieire bunicul.out va conine pe prima linie dimensiunea total disponibil pentru
variabilele folosite, iar pe a doua linie 2*R numere reprezentnd intervalul de memorie pentru fiecare
variabil n parte sau dou numere reprezentnd numrul de variabile pentru care s-a putut aloca memorie
i ultima locaie de memorie ocupat de variabilele pentru care s-a alocat memorie.
Restricii i precizri

;
;
Variabilele ocup cel mult 1000 bytes.
Prima adres la care pot fi ncrcate datele este 0, iar numrul locaiilor ocupate este M+1.
Toate variabilele sunt declarate n aa fel nct s nu depeasc memoria disponibil.
Intervalele de memorie conin i capetele.
Intervalele de memorie ocupat nu sunt date obligatoriu n ordinea adreselor lor i nu nu se suprapun.
Dimensiunea M a memoriei este exprimat n bytes. Dimensiunile variabilelor sunt exprimate de
asemenea n bytes. Toate aceste valori sunt numere naturale.

Inspectoratul colar Judeean Prahova


Olimpiada local de Informatic subiecte

30 ianuarie 2016

Pentru rezolvarea corect a primei cerine, punctajul este de 2 puncte/test, iar pentru rezolvarea
corect a celei de-a doua cerine, punctajul este de 8 puncte/test.
Exemple
bunicul.in

bunicul.out

Explicaie

1300 9 7
757
46 100
0 29 101 120 451 500 608 642
803 862 903 1002 1051 1150
130 180
200 300
349 450
501 607
670 750
800 802
900 902
1010 1050
30 20 50 35 60 100 100

Spaiul total liber este de 756 bytes.


Prima zon liber este cuprins ntre adresele 0,
45. Prima variabil ocup 30 bytes, spaiul alocat
este intervalul 0,29.
A doua variabil are 20 bytes. Prima zon liber
de dimensiunea dorit este cuprins n intervalul
101,120. Pentru a treia variabil, care are 50
bytes, se va aloca memoria cuprins ntre
451,500. Pentru a patra variabil se vor aloca 35
bytes ntre adresele 608,642. Pentru a cincea
variabil se aloc memorie n intervalul 803,862
(60 byes). Pentru a asea variabil se aloc
spaiul de memorie cuprins ntre 903,1002 (100
bytes). Pentru ultima variabil se aloc spaiul de
memorie de 100 bytes, cuprins ntre 1051,1150.

bunicul.in

bunicul.out

Explicaie

500 5 4
461 480
101 200
11 80
280 399
411 450
70 20 50 100

151
2 500

Spaiul total liber este de 150 bytes.


Prima variabil ocup 70 bytes, spaiul alocat este
intervalul 201,270.
A doua variabil are 20 bytes. Prima zon liber de
dimensiunea dorit este cuprins n intervalul
481,500.
Pentru restul variabilelor nu se poate aloca
memorie. n concluzie, a fost alocat memorie
pentru 2 variabile, iar ultima adres de memorie
ocupat cu variabile este 500.

Timp maxim de execuie: 0.7 secunde/test.


Memorie total disponibil 4 MB, din care 2 MB pentru stiv
Dimensiunea maxim a sursei: 5 KB.

Prof. Nstase Luminita- Colegiul Naional Nichita Stnescu Ploiesti

Inspectoratul colar Judeean Prahova


Olimpiada local de Informatic subiecte

30 ianuarie 2016

Clasa a X-a
Problema 1 Masca

100 puncte

Se consider alfabetul compus din literele mici, de la a la z, fr diacritice. Se numete cuvnt un ir


finit, eventual vid, de litere din alfabet. Se numete masc un ir de caractere din alfabet avnd eventual n plus
caracterele ? i * cu urmtoarea semnificaie: caracterul ? nlocuiete oricare din literele de la a la z (o singur
liter) iar caracterul * nlocuiete un cuvnt oarecare, eventual vid, format cu litere de la a la z.
Spre exemplu avem masca a?b*c. Dac avem 3 cuvinte i anume abbc, acbaac i abac atunci
primele 2 se potrivesc cu masca. Aadar valoarea calculat va fi 2.
Cerin: Considerndu-se o list de cuvinte, s se determine:
a) Numrul de cuvinte distincte.
b) Numrul de cuvinte distincte ce se potrivesc cu o masc dat, adic se pot obine prin nlocuirea
caracterelor ? i * din masc.
Date de intrare: Fiierul masca.in cu urmtoarea structur:
-Pe prima linie un numr natural p. Pentru toate testele de intrare, numrul p poate avea doar valoarea 1 sau
valoarea 2.
-Pe a doua linie o masc E (ir de caractere).
-Pe a treia linie numrul N de cuvinte.
-Pe fiecare din urmtoarele N linii cte un cuvnt S (ir de caractere) cu litere din alfabet.
Date de ieire: Fiierul masca.out cu urmtoarea structur:
-Dac valoarea lui p este 1, se va rezolva numai punctul a) din cerin. n acest caz, n fiierul de ieire se
va scrie un singur numr natural N1, reprezentnd numrul de cuvinte distincte S din fiierul de intrare.
-Dac valoarea lui p este 2, se va rezolva numai punctul b) din cerin. n acest caz, in fiierul de iesire se va
scrie un numr natural N2, reprezentnd numrul de cuvinte distincte S ce se potrivesc cu masca E.
Restricii i precizri:
- Pentru rezolvarea corect a primei cerine se acord 20 de puncte, iar pentru cerina a doua se acord 80 de puncte.
-1N1000.
-Lungimea unui cuvnt oarecare S ct i a expresiei masc E este ntre 1 i 100 de caractere.
-n expresia masc E sunt cel mult dou caractere *.
Exemple:
masca.in
masca.out
Explicatie
1
5
Cuvintele aab si abcaab apar
a*a?b
de cate 2 ori.
7
Atenie! Pentru acest test se
ababb
rezolv doar cerina a).
aab
aabb
aab
abcaab
abcaab
ababa
masca.in
masca.out
Explicatie
2
3
Cuvintele ababb, aabb si
a*a?b
abcaab se potrivesc cu masca.
7
Cuvntul abcaab apare de 2
ababb
ori.
aab
Atenie! Pentru acest test se
aabb
rezolv doar cerina b).
aab
abcaab
abcaab
ababa
Timp maxim de execuie/test: 0.5 secunde.
Memorie totala: 4 Mo din care 2 Mo pentru stiv.
Dimensiunea maxim a sursei: 5 KB
Prof Radu Visinescu Colegiul National I.L. Caragiale

Inspectoratul colar Judeean Prahova


Olimpiada local de Informatic subiecte

30 ianuarie 2016

Clasa a X-a
Problema 2Harta

100 puncte

O hart este codificat printr-o matrice cu N linii i M coloane de elemente numere naturale. Valoarea 0
semnific o zon cu ap. Zonele de uscat sunt codificate prin valori ntre 1 i K. Celulele aparinnd unei ri I sunt
codificate cu valoarea I. Fiecare ar este mprit n departamente. Prin definiie, un departament reprezint o mulime
de celule de aceeai valoare, continu pe linii i coloane (nu i diagonale).
Cerine: Fiind dat o hart codificat ca mai sus. s se determine:

a) Suprafaa total a apei.


b) Lista rilor cu cele mai multe departamente, ordonat cresctor.
Date de intrare
Fiierul de intrare harta.in conine pe prima linie un numr natural p. Pentru toate testele de intrare, numrul p
poate avea doar valoarea 1 sau valoarea 2. Pe a doua linie conine valorile N, M i K cu semnificaia din enun. Pe
urmtoarele N linii cte M valori, desprite prin cte un spaiu, reprezentnd codificarea harii.

Date de ieire
Dac valoarea lui p este 1, se va rezolva numai punctul a) din cerin.
n acest caz, n fiierul de ieire harta.out se va scrie un singur numr natural n1, reprezentnd
suprafata totala a apei.
Dac valoarea lui p este 2, se va rezolva numai punctul b) din cerin.
n acest caz, fiierul de ieire harta.out va conine pe prima i singura linie valorile ce
reprezint codurile rilor cu numr maxim de departamente, separate prin cte un spaiu.
Restricii i precizri:
- 1N, M100.
- 1K10.
- O zon de uscat poate conine mai multe departamente dintr-o aceeai ar.
- Pentru rezolvarea corect a cerinei a) se acord 20% din punctaj, pentru rezolvarea corect a ambelor cerine se acord
punctajul maxim.
Exemplu:
harta.in
harta.out
Explicaii:
1
11
Se va rezolva numai cerina a) . Suprafaa apei
5 5
reprezint numrul de valori de 0 din matrice.
1 1 2 0 0
3 1 0 2 2
3 0 0 0 2
0 1 3 0 0
0 2 2 1 0
2
1 2
Se va rezolva numai cerina b). rile cu cele mai
5 5
multe departamente (3 departamente) sunt rile 1 i
1 1 2 0 0
2. Se observ c una din zonele de uscat conine 2
3 1 0 2 2
departamente distincte ale rii 1.
3 0 0 0 2
0 1 3 0 0
0 2 2 1 0

Timp maxim de execuie: 0.1 secund/test.


Memorie total disponibil 4 MB, din care 2 MB pentru stiv
Dimensiunea maxim a sursei: 5 KB
Prof Radu Visinescu Colegiul National I.L. Caragiale Ploiesti

Inspectoratul colar Judeean Prahova


Olimpiada local de Informatic subiecte

30 ianuarie 2016

Clasa a XI-a -XII-a


Problema 1 Masca

100 puncte

Se consider alfabetul compus din literele mici, de la a la z, fr diacritice. Se numete cuvnt un ir


finit, eventual vid, de litere din alfabet. Se numete masc un ir de caractere din alfabet avnd eventual n plus
caracterele ? i * cu urmtoarea semnificaie: caracterul ? nlocuiete oricare din literele de la a la z (o singur
liter) iar caracterul * nlocuiete un cuvnt oarecare, eventual vid, format cu litere de la a la z.
Spre exemplu avem masca a?b*c. Dac avem 3 cuvinte i anume abbc, acbaac i abac atunci
primele 2 se potrivesc cu masca. Aadar valoarea calculat va fi 2.
Cerin: Considerndu-se o list de cuvinte, s se determine:
c) Numrul de cuvinte distincte.
d) Numrul de cuvinte distincte ce se potrivesc cu o masc dat, adic se pot obine prin nlocuirea
caracterelor ? i * din masc.
Date de intrare: Fiierul masca.in cu urmtoarea structur:
-Pe prima linie un numr natural p. Pentru toate testele de intrare, numrul p poate avea doar valoarea 1 sau
valoarea 2.
-Pe a doua linie o masc E (ir de caractere).
-Pe a treia linie numrul N de cuvinte.
-Pe fiecare din urmtoarele N linii cte un cuvnt S (ir de caractere) cu litere din alfabet.
Date de ieire: Fiierul masca.out cu urmtoarea structur:
-Dac valoarea lui p este 1, se va rezolva numai punctul a) din cerin. n acest caz, n fiierul de ieire se
va scrie un singur numr natural N1, reprezentnd numrul de cuvinte distincte S din fiierul de intrare.
-Dac valoarea lui p este 2, se va rezolva numai punctul b) din cerin. n acest caz, in fiierul de iesire se va
scrie un numr natural N2, reprezentnd numrul de cuvinte distincte S ce se potrivesc cu masca E.
Restricii i precizri:
- Pentru rezolvarea corect a primei cerine se acord 20 de puncte, iar pentru cerina a doua se acord 80 de puncte.
-1N1000.
-Lungimea unui cuvnt oarecare S ct i a expresiei masc E este ntre 1 i 100 de caractere.
-n expresia masc E sunt cel mult dou caractere *.
Exemple:
masca.in
masca.out
Explicatie
1
5
Cuvintele aab si abcaab apar
a*a?b
de cate 2 ori.
7
Atenie! Pentru acest test se
ababb
rezolv doar cerina a).
aab
aabb
aab
abcaab
abcaab
ababa
masca.in
masca.out
Explicatie
2
3
Cuvintele ababb, aabb si
a*a?b
abcaab se potrivesc cu masca.
7
Cuvntul abcaab apare de 2
ababb
ori.
aab
Atenie! Pentru acest test se
aabb
rezolv doar cerina b).
aab
abcaab
abcaab
ababa
Timp maxim de execuie/test: 0.5 secunde.
Memorie totala: 4 Mo din care 2 Mo pentru stiv.
Dimensiunea maxim a sursei: 5 KB
Prof Radu Visinescu Colegiul National I.L. Caragiale

Inspectoratul colar Judeean Prahova


Olimpiada local de Informatic subiecte

30 ianuarie 2016

Clasa a XI-a -XII-a


Problema 2 Nunta

100 puncte

La o nunt sunt invitate n persoane, numerotate de la 1 la n. Se tie c o parte din ele se cunosc dou
cte dou, fie c sunt rude, fie de la serviciu, fie sunt prieteni sau vecini. Astfel se vor forma un
numr minim de grupuri astfel nct n fiecare grup, fiecare persoan s aib cel puin un cunoscut.
Ca sa se iveasc ct mai puine situaii stnjenitoare, organizatorul nunii ar dori s aranjeze o mas
principal cu cel puin n/2+1 invitai, la care s fie aezate unul sau mai multe astfel de grupuri
ntregi.
Cerina : Fiind date n, numrul de persoane, m, numrul de perechi de invitai care se cunosc ntre ei
i cele m perechi, s se determine numrul minim de grupuri formate din cel puin doi invitai astfel
nct, n fiecare grup, fiecare persoan s aib cel puin un cunoscut, precum i numrul variantelor
distincte n care se poate organiza masa cu cel puin n/2+1 invitai din grupurile formate.
Date de intrare: Fiierul nunta.in conine pe prima linie un dou numere naturale separate prin
spaiu n i m, n reprezentnd numrul de invitai, respectiv m numrul de perechi de invitai care se
cunosc ntre ei. Pe fiecare din urmtoarele m linii se afl cte dou numere naturale x i y, 1x,yn,
separate printr-un spaiu, cu semnificaia c invitaii x i y se cunosc ntre ei.
Date de ieire Fiierul nunta.out va conine pe prima linie un numr natural g reprezentnd numrul
minim de grupuri formate din cel puin doi invitai astfel nct, n fiecare grup, fiecare persoan s
aib cel puin un cunoscut. Pe cea de a doua linie va fi scris un numr natural v reprezentnd numrul
variantelor distincte n care se poate organiza masa cu cel puin n/2+1 invitai din grupurile formate.
Restricii i precizari
0 < n <= 20000
0 < m <= 100000
Exemple
nunta.in

nunta.out Explicaie

31 6
57
23
10 14
14 6
9 15
7 30

4
0

nunta.in

nunta.out Explicaie

12 8
12
65
32
10 8
34
78
14
12 9

4
3

Grupurile formate din cel puin doi invitai sunt : (2,3), (5,7,30),
(6,10,14), (9,15)
Ele nu sunt suficiente pentru a forma o mas cu cel puin 16 invitai, deci
sunt 0 variante de aranjare.

Grupurile formate din cel puin doi invitai sunt: G1=(1,2,3,4), G2=(5,
6), G3=(7,8,10), G4=(12, 9)
Variantele distincte n care se poate organiza masa cu cel puin n/2+1,
adic 7 invitai din grupurile formate sunt: G1+G2+G3, G1+G2+G3+G4
i G2+G3+G4.

Timp maxim de execuie/test: 0.1 secunde


Memorie totala disponibil/stiv: 2 MB/1 MB
Prof. Iulia Lincan - Colegiul Naional Mihai Viteazul Ploieti

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