Sunteți pe pagina 1din 3

Olimpiada municipal la INFORMATICA, programare 2017

Clasele 10-12

Problema 1. Cifru.
Un banchir, fiind pasionat de informatic, a creat un cifru la safeu format din numrul obinut prin alipirea datei naterii,
numrului lunii i numrului anului, dar transformat n sistemul hexazecimal.

Cerin: S se determine codul safeului, cunoscnd data, luna i anul naterii banchirului.

Input : De la tastatur se citesc 3 numere D, L, A (D-numrul datei, L-numrul lunii, A-numrul anului)
Output : La ecran se v afia un numr hexazecimal ce reprezint codul safeului.
Restricii : 1D31, 1L12,1An2017
Exemplu :
Intrare: 1 2 1999
Ieire: 1DC8F

Problema 2. Asistentul social.


Un asistent social trebuie s completeze trusa de medicamente cu N preparate, numerotate de la 1 la N. Doctorul i-
a dat M reete de dou tipuri, codificate cu numerele 1 i 2 astfel: 1 - reet necompensat, adic preul
medicamentelor de pe reet se achit integral de ctre cumprtor; 2 - reet compensat 50%, adic preul
medicamentelor nscrise pe reet se njumtete. Se tie c pe reete nu exist un alt medicament dect cele
numerotate de la 1 la N i o reet nu conine dou medicamente identice. Dac o reet este folosit, atunci se vor
cumpra toate medicamentele nscrise pe ea. Ajutai asistentul!

Cerin: Scriei un program care s determine suma minim de bani necesar pentru a cumpra exact cte unul din
fiecare N medicamente, folosindu-se de reetele avute la dispoziie. Dac nu exist aceast posibilitate scriei cuvntul
imposibil

Input : Fiierul de intrare asist.in are urmtorul format: pe prima linie sunt scrise numerele naturale N i M; pe urmtoarele M
linii sunt descrise cele M reete, cte o reet pe o linie. Linia care descrie o reet conine tipul reetei (1 - necompensat sau 2
compensat 50%), urmat de un numr natural q reprezentnd numrul de medicamente de pe reet, apoi de q numere distincte din
mulimea {1, 2, ..., N} reprezentnd medicamentele nscrise pe acea reet; pe ultima linie a fiierului de intrare sunt scrise N
numere naturale, reprezentnd n ordinea de la 1 la N, preul medicamentelor. Toate numerele de pe aceeai linie sunt separate prin
cte un spaiu.
Output : Fiierul de ieire asist.out va conine o singur linie pe care va fi scris un numr real cu o singur zecimal,
reprezentnd suma minim determinat sau va fi scris cuvntul imposibil
Restricii: 1 N 20, 1 M 15, 1 preul oricrui medicament 200
Exemplu
asist.in asist.out Explicaii
4 5 45.0 Soluia s-a obinut prin folosirea primei i celei de a patra reete.
2 1 3 O alt variant, dar de cost mai mare, s-ar fi obinut dac se folosea reeta a patra i cea de a
2 2 2 3 cincea.
1 1 1
1 3 4 1 2
1 1 3
8 20 2 16

Problema 3. Miliard furat.


Pe un picior de plai, pe-o gur de rai, ntr-o trioar mic, dar bogat n tradiii de vinifica ie, nelepii funcionari de stat
prin manipulri corecte i oneste au furat din bugetul rii o mare parte din el, desigur, pentru dezvoltarea progresului i pcii
n lume, dar astfel au sortit la o existen mizer cetenii de rnd. Conform comunicatelor presei locale,
independente i obiective, oamenii sunt mulumii de acest lucru, deoarece s-au sturat deja s mannce caviar, trufe i alte
deliciuri, ca s nu mai vorbim de pericolele unui aa mod de alimentare pentru sntate. Cu toate acestea, n ace ast ar mic,
dar foarte mndr(fr mari proteste, ca n trile vecine, unde zi i noapte mic i mare ar iei n strad n condiii similare)
binefctorii din afara rii s-au gndit cum s mpiedice funcionarii de stat s-i asume aceast povar grea a vieii bogate. ntr-
un fel, mpreun cu ajutorul umanitar pentru ar, au transmis un set de comprimate de onestitate pentru oamenii legii,
etichetate ca pastile pentru creterea intelectului i a veniturilor. Unii poliiti s-au intoxicat accidental cu aceste comprimate pn
cnd nu a fost depistat eroarea. De asemenea, binefctorii din strintate mpreun cu medicamentele au
transmis poliiei oneste i o map cu materiale referitor la ntregul lan de corupie, implicai n furtul din buget.
Dar, dovezi directe au ajuns doar pentru arestarea hoului numrul 1, s-i aresteze pe ceilali suspeci rmai nu au avut
suficiente probe.
Fiecare funcionar corupt trebuie s restituie suma furat Si prin confiscarea bunurilor dobndite n valoare de S i, sau s
predea legii ki complici ai si, astfel micornd-se suma de la S i pn la Ri. Schemele de corupie sunt strict ierarhice i aciclice,
adic, nici unul dintre complicii unui funcionar nu va putea fi complicele unui alt funcionar.
Sarcina ta este, ca lund n considerare cele expuse, s elaborezi un plan al anchetei, astfel nct n
bugetul de stat s poat fi returnat o sum ct mai mare.
Olimpiada municipal la INFORMATICA, programare 2017

Input: Fiierul de intrare corupt.in va conine n prima linie un numr ntreg N numrul funcionarilor corupi implicai n furt,
iar urmtoarele N rnduri vor conine Si, Ri, ki, i ki numere numerele de rnd ale funcionarilor pe care i va preda funcionarul
i, toate separate prin spaiu.
Output: Rezultatul obinut se va afia la ecran suma maxim, care poate fi returnat.
Restricii: Toate sumele Si sunt <= ca un miliard. 0RiSi. 0kiN2000.
Exemplu
Intrare: fiierul Output: la Explicaie:
coruptie.in ecran se va afia
8 496 Mai convenabil este de a permite hoului nr.1 s
100 50 3 5 8 2 predea omplicii si, el achitnd jumtate din suma
40 30 1 4 furat, iar de la hoii cu numerele 5, 8, 2 for f
60 50 1 7 depozitate nc anumite sume;
400 200 0 Houl cu nr. 2 iari va achita doar 30(n loc de 40),
5216 prednd legii houl cu nr. 4,Averea hoului nr.4 va f
430 confscat integral(400)
1000 500 0 Houl 5 l va preda pe houl 6 i va achita 2, Houl 6
10 9 0 va achita integral suma(4), Houl 8 va achita toat
suma(10), Houl 3 i 7 sunt n list, dar nu-s
ncadrai n lanul dat i banii, pe care i-au furat ei,
nu pot f restituii n bugetTotal: 496 vor f restituii

Clasele 5-9

Problema 1. Cifru.
Un banchir, fiind pasionat de informatic, a creat un cifru la safeu format din numrul obinut prin
alipirea datei naterii, numrul lunii i numrul anului, dar transformat n sistemul binar.

Cerin: S se determine codul safeului, cunoscnd data, luna i anul naterii banchirului.

Input: De la tastatur se citesc 3 numere D, L, A (D-numrul datei, L-numrul lunii, A-numrul anului)
Output: La ecran se va afia un numr binar ce reprezint codul safeului.
Restricii : 1D31, 1L12,1An2017
Exemplu
Intrare: 7 5 2000
Ieire: 10110111100110000000

Problema 2. Stele.
Pasionat de astronomie, Teodora dorete s in evidena numrului de stele din galaxii. Pentru a face
lucrurile mai interesante, ea codific aceste numere ntr-un sistem propriu, transformndu-le ntr-o niruire
de litere i cifre dup algoritmul urmtor:
noteaz fiecare putere a lui 2, strict mai mic dect 226, cu o liter a alfabetului latin, astfel:

reprezint fiecare numr ca un ir de cifre i litere obinut din scrierea acelui numr ca sum de puteri ale lui 2; dac
o putere este folosit de mai multe ori n descompunerea numrului atunci ea va fi precedat n ir de numrul de
utilizri. Un numr poate fi reprezentat astfel n mai multe moduri. De exemplu, pentru numrul 100 printre variantele
de reprezentare avem: 100 = cfg = 2 +2 +2 = 4+32+64 = 100 ;
2 5 6

100 = 2ab2cde2f = 2*2 +2 +2*2 +2 +2 +2*2 = 2*1+2+2*4+8+16+2*32 = 100


0 1 2 3 4 5

100 = 16bcg = 16*2 +2 +2 = 16*2+4+64 = 100


1 2 6

Cerin: Cunoscnd g, reprezentnd numrul de galaxii i g numere n scriere codificat, reprezentnd numrul de
stele din fiecare galaxie, determin scrierea zecimal a numrului total de stele din cele g galaxii.

Input : Fiierul de intrare stele.in conine pe prima linie un numr natural g reprezentnd numrul de galaxii, iar
pe urmtoarele g linii cte un ir de caractere reprezentnd numrul de stele dintr-o galaxie, codificat folosind
algoritmul descris mai sus.
Output : La ecran se va afia un numr natural ce reprezint numrul total de stele din cele g galaxii .
Restricii : 1 g 1000, reprezentrile codificate din fiierul de intrare pot avea maximum 250 caractere,
numrul care poate aprea n faa unei litere poate avea maximum 9 cifre.
Exemple
stele.in stele.out Explicaie
Olimpiada municipal la INFORMATICA, programare 2017
5 6320 Avem 5 numere:
2a7g 2a7g = 450, 17b5d14g = 970
17b5d14g 100a2000b = 4100, 7e15f = 592, 2d6f = 208
100a2000b Suma lor este: 450 + 970 + 4100 + 592 + 208 = 6320
7e15f
2d6f

Problema 3. Lcusta.
Se consider un teren agricol de form dreptunghiular cu dimensiunea nm (n, m 100) format din zone
ptrate cu latura 1. n fiecare zon a terenului sunt indicate unitile condiionale de cereale, care pot fi recoltate din
zonele reale respective. n colul stnga sus al acestui teren se afl o lcust insect care duneaz foarte mult
agriculturii, distrugnd definitiv cerealele din zonele atacate de ea.
Lcusta are de traversat terenul n studiu pornind de la colul stnga-sus la colul dreapta-jos trecnd prin 2n celule.
O traversare const din mai multe deplasri. La fiecare deplasare lcusta execut un salt pe orizontal i un pas pe
vertical. Un salt nseamn c lcusta trece de la o celul la oricare alta aflat pe aceeai linie, iar un pas nseamn c
insecta trece de la o celul la celula aflat imediat sub ea. Excepie face ultima deplasare, care se reduce doar la un
salt de la o celul a ultimii linii la celula final, situat n colul dreapta-jos a terenului.

Cerin: Scriei un program care, dintre toate traseile posibile ale lcustei, va gsi unul pentru care cantitatea
sumar a cerealelor distruse va fi minimal.

Input: Fiierul de intrare lac.in conine pe prima linie numerele naturale n i m, separate prin spaiu. Fiecare din
urmtoarele n linii ale acestui fiier conine cte m numere naturale, separate prin cte un spaiu, reprezentnd
cantitatea de cereale ce poate fi recoltat n zona respectiv [i, j];
Output: La ecran se va afia suma minim gsit.
Restricii 1 n,m 100 , valorile elementelor matricei sunt numere ntregi din intervalul [1, 255]
Exemplu
Lac.in Output Explicaie

45 28 Drumul este:
34579 (1,1)->(1,3)->
66344 (2,3)->(2,2)->
63396 (3,2)->(3,3)->
65382 (4,3)->(4,5)