Lista de probleme 2

#1491 Coduri

În urma inundațiilor din această iarnă, COFFESHOP a suferit câteva pierderi esențiale. 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 parțial au fost listingurile codurilor produselor și ale codurilor de bare.

Fiecare produs are un un cod reprezentând un număr în bază 16. Codul de bare asociat fiecărui produs este numărul obținut prin conversia codului produsului în baza 2. Pentru un produs se cunoaște fie codul produsului, fie codul de bare. În cazul produselor ale căror coduri nu sunt total vizibile, cifrele care nu se vad sunt marcate cu X.

Fiind date numerele naturale N, H și D, reprezentând numărul de produse, numărul de cifre pentru codurile produselor, respectiv numărul de cifre pentru codurile de bare și cele N coduri, să se determine:

a) Pentru fiecare produs pentru care se cunoaște unul dintre cele două coduri, codul care lipsește, adică codul de bare – dacă este specificat codul produsului, respectiv codul produsului – dacă este precizat codul de bare. Pentru produsele pentru care nu se cunoaște cu exactitate niciunul dintre coduri, se va determina, dacă este posibil, codul produsului.
b) Numărul de coduri indescifrabile.

Olimpiada locală de Informatică, Prahova, 2016

#1492 Bunicul

Mă gândeam la execuția unui program care calculează formula fericirii. Am o problemă cu alocarea memoriei. În unele cazuri programul poate rula, iar în altele nu. Programul funcționează corect dacă se alocă memorie în primul spațiu 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 oricărei variabile declarate înaintea ei.

Cunoscând dimensiunea memoriei M, numărul de zone ocupate N, numărul R de variabile declarate, cele N intervalele de memorie ocupate, precum și spațiul 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ă, respectând cerința problemei, sau numărul de variabile ce au putut fi alocate și adresa maximă la care este salvată o variabilă de memorie.

Olimpiada locală de Informatică, Prahova, 2016