Lista de probleme 13

#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

#1486 Gropi

Gigel a primit de la prietenul său Programatorul o hartă a grădinii acestuia. Grădina are forma dreptunghiulară şi harta pe care a primit-o Gigel conţine informaţii despre starea culturii de pomi fructiferi. Mai precis ea conţine înălţimile fiecărui copac şi zonele în care s-au săpat gropi dar încă nu au fost plantaţi copaci. Harta grădinii poate fi reprezentată sub forma unei table dreptunghiulare cu N linii, numerotate de la 1 la N de sus în jos, şi M coloane, numerotate de la 1 la M de la stânga la dreapta. În fiecare celulă se află un număr real corespunzător înălţimii copacului sau valoarea 0 corespunzătoare unei gropi.

Cunoscând coordonatele unui punct de pe hartă ajutaţi-l pe Gigel să determine pe care dintre cele 8 direcţii N, NE, E, SE, S, SV, V, NV corespunzătoare acestui punct se află cele mai multe gropi.

Olimpiada locală de Informatică, Prahova, 2016

#1482 Numar4

Ionel i-a dat numărul său de telefon N lui Vasile, dar a greșit exact o cifră de pe o anumită poziție. Se cunoaște că pe acea poziție cifra corectă este o cifra pară.

Determinați numărul minim NR de numere de telefon pe care trebuie să le încerce Vasile astfel încât printre ele să se afle cu siguranță numărul corect de telefon al lui Ionel.

Olimpiada locală de Informatică, Prahova, 2016

Se citește un număr natural n. Acest număr se “împarte” în alte două numere x și y, astfel: x este format din cifrele din prima jumătate a lui n, y este format din cifrele din a doua jumătate a lui n. Dacă n are număr impar de cifre, cifra din mijloc va fi prima cifră a lui y. De exemplu, dacă n=88132, atunci x=88, iar y=132.

Să se determine cel mai mare divizor comun al lui x și y.

Olimpiada locală de Informatică, Prahova, 2016

Un pitic pasionat de numere trebuie să-și pună flori în grădină. El are de plantat m rânduri cu flori, aceeași floare pe tot rândul. Rândurile sunt numerotate de la 1 la m. Având la dispoziție suficiente specii de flori, piticul nostru s-a gândit să le planteze folosind următorul algoritm matematic: pe rândurile care sunt numere prime, va planta exact floarea numerotată cu numărul prim respectiv, iar pe celelalte rânduri va planta floarea numerotată cu suma divizorilor primi ai numărului neprim.

Să se realizeze un program care să afişeze ordinea de așezare a florilor pe cele m rânduri.

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

În vederea premierii la un concurs de informatică N candidați sunt rugați să se așeze pe un cerc. Elevii sunt identificați în ordine prin numerele de la 1 la N. Comisia pleacă din dreptul primului elev, face x1 pași pe cerc și pune coronița elevului respectiv. Mai departe, comisia merge în continuare pe cerc x2 pași și pune o a doua coroniță elevului curent. Daca elevul curent are deja o coroniță atunci se numără și acea poziție și trece mai departe. După N astfel de acțiuni premierea se încheie. Premierea se consideră a fi validă dacă toți candidații au primit câte o coroniță.

Aflați dacă premierea a fost validă și de asemenea, aflați a câta coroniță a fost pusă elevului cu numărul 1.

Olimpiada locală de Informatică, Prahova, 2016

#1489 Bile1

Algorel a primit un set de n bile numerotate de la 1 la n pe care trebuie să le pună în trei cutii identice astfel încât în nicio cutie să nu fie două bile numerotate cu numere consecutive.

În câte moduri poate face Algorel acest lucru?

Olimpiada locală de Informatică, Prahova, 2016

#1490 Musca

Ferma lui Algo arată ca o gospodărie mare, în care îşi găsesc locul multe animale şi sunt cultivate pe suprafeţe întinse legume, cereale şi pomi fructiferi. În acest an, pomii a fost atacaţi de o musculiţă care le distruge fructele. Algo a căutat o soluţie pentru îndepărtarea musculiţelor, dar nu a găsit una eficientă. A observat însă că musculiţele sunt sensibile la fum. Aşa că a construit un dispozitiv alcătuit din două ţevi, cu care poate să tragă în acelaşi timp, pe aceeaşi direcţie, dar în sens invers, două baloane speciale umplute cu fum. La fiecare acţionare a dispozitivului sunt lansate cu aceeaşi viteză cele două baloane, care se sparg şi împrăştie fumul la contactul cu copacul.

Deoarece baloanele speciale şi tehnologia lui de a le umple cu fum sunt costisitoare, Algo îşi propune să alunge dăunătorii folosind cât mai eficient resursele. Astfel el vrea să folosească cât mai puţine baloane şi caută posibilitatea de a amplasa dispozitivul într-un punct din fermă care să îi permită trageri eficiente, adică să poată trage în toți pomii din fermă și la fiecare tragere să atingă doi pomi în acelaşi timp.

Determinaţi dacă este posibil să găsească acest punct.

Olimpiada locală de informatică, Prahova, 2016

#1496 Harta1

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 aparținând unei țări I sunt codificate cu valoarea I. Fiecare țară este împărțită în departamente. Prin definiție, un departament reprezintă o mulțime de celule de aceeași valoare, continuă pe linii și coloane (nu și diagonale).

Fiind dată o hartă codificată ca mai sus. să se determine:

a) Suprafața totală a apei.
b) Lista țărilor cu cele mai multe departamente, ordonată crescător.

Olimpiada locală de Informatică, Prahova, 2016