Sunteți pe pagina 1din 31

OLIMPIADA NA IONALĂ DE INFORMATICĂ PENTRU GIMNAZIU

23 iunie 2001
clasele V - VI
Ştampile

Pe fiecare din porţile celor n (n <= 100) case dintr-un sat se scrie câte un număr, prin aplicarea unor ştampile
cu numere. Exemplu: pentru a scrie numărul 3404 se vor aplica ştampilele cu 3 şi cu 0, câte o dată şi cea cu
4 de două ori.
Se citesc n numere naturale (cele ce se scriu pe porţi) şi se cer următoarele:

a) Care este ştampila cea mai puţin folosită?


b) Care este ordinea celor 10 ştampile (cu cele 10 cifre), începând cu cea mai uzată şi terminând cu cea mai
puţin folosită?
c) Care numere au folosit exact două ştampile?

Observa ie: numerele nu sunt în ordine şi pot avea maximum 5 cifre.

Timp maxim de executare: 3 secunde/test


OLIMPIADA NA IONALĂ DE INFORMATICĂ PENTRU GIMNAZIU
23 iunie 2001
clasele V - VI
Turneu

Impresarul unei formaţii de muzică trebuie să primească oferte de spectacole şi eventual anulări de
spectacole din diferite oraşe. Oraşele sunt codificate prin numerele 1,2,..,n (1n20) şi fiecare oraş poate
organiza cel mult un spectacol. Impresarul ţine legătura cu organizatorii de spectacole din aceste oraşe şi
actualizează în permanenţă datele obţinute. Prin fax el primeşte m (m<= 100) mesaje, care pot fi de unul din
cele două tipuri:

D
nr

sau

N
nr

Cu semnificaţiile: pentru primul mesaj se doreşte organizarea unui concert în oraşul nr, iar pentru a-l doilea
mesaj se doreşte anularea spectacolului din oraşul nr. Un mesaj este format din exact două linii.

Se cere:
a) Să se afişeze oraşele în care va concerta formaţia de muzică (pe aceeaşi linie cu un spaţiu între ele).
b) Să se afişeze oraşul (sau oraşele dacă sunt mai multe, pe aceeaşi linie cu un spaţiu între ele) în care
organizatorii sunt cei mai nedecişi (adică au anulat şi propus oraganizarea de spectacol în oraşul lor de
cele mai multe ori).
c) Să se afişeze numărul de oraşe care nu au trimis nici un mesaj impresarului.

Exemplu:
Pentru datele de intrare:
n=5
m=6
D
2
D
3
N
3
D
3
D
5
N
2
Se va afişa:
a)
35
b)
3
c)
2
Observa ie:
Se cere respectarea formatul de citire şi afişare a datelor precizat în exemplu.
Timp maxim de executare: 3 secunde/test
OLIMPIADA NA IONAL DE INFORMATIC PENTRU GIMNAZIU
23 iunie 2001
clasele VII - VIII
Viespi

Pe o insulă, după multiple experimente chimice se produce un fenomen extrem de periculos. Viespile se
înmulţesc foarte repede producând pagube mari. Guvernatorul ia hotărârea ca după n zile să se evacueze
insula. Se cere să se determine numărul de viespi existente în ziua de plecare, ştiind că în prima zi după
fenomen sunt p viespi, în a doua zi q viespi, iar în zilele cu numărul de ordine k (3kn) numărul de viespi
este egal cu de patru ori numărul de viespi din ziua k-1, minus numărul de viespi din ziua a k-2. .

Date de intrare:
|n fişierul text VIESPI.IN se află pe prima linie n, iar pe a doua linie p şi q cu un spaţiu între ele.

Date de ieşire:
|n fişierul text VIESPI.OUT se va scrie pe prima linie numărul de viespi după cele n zile.

Restric ie

1n,p,q100

Exemplu:

VIESPI.IN
4
23

VIESPI.OUT
37

Timp maxim de executare: 1 secund /test


Olimpiada Naţională de Informatică pentru Gimnaziu
Clasa a V-a

Problema 1 – La şcoală
Directorul unei şcoli doreşte să premieze la sfârşitul anului şcolar pe cei mai buni elevi la învăţătură.
Pentru acest lucru el are de rezolvat două probleme:
1. Să determine câţi elevi vor fi premiaţi dintre cei n (2n700) elevi ai şcolii. După discuţii aprinse cu
ceilalţi profesori se hotărăşte în Consiliul Profesoral ca numărul premianţilor să fie n-k, unde k este cel
mai mare număr pătrat perfect mai mic strict decât n. De exemplu, pentru n=150, k este 144 (pentru că
144=122), deci vor fi premiaţi 150-144=6 elevi.
2. Pentru a fi cât mai multă linişte la premiere, în Consiliul Profesoral se ia decizia ca elevii care nu vor fi
premiaţi să fie aşezaţi pe terenul de sport pe rânduri de câte p elevi (unde p2=k). În acest scop, directorul
a numerotat elevii nepremiaţi de la 1 la k şi a hotărât ca elevii să fie aşezaţi în ordinea descrescătoare a
numerelor asociate.
Cerinţă
Scrieţi un program care:
– citeşte de la tastatură n, numărul de elevi din şcoală;
– determină şi afişează pe ecran numărul de elevi premiaţi;
– afişează pe ecran modul de aşezare a elevilor nepremiaţi

Exemplu
Un exemplu de execuţie a programului creat de voi ar putea fi:
Introduceţi numărul de elevi din scoala n = 35
Numarul de elevi premiati: 10
Elevii nepremiati:
25 24 23 22 21
20 19 18 17 16
15 14 13 12 11
10 9 8 7 6
5 4 3 2 1

Problema 2 – Balaur

A fost o dată un balaur cu 6 capete. Într-o zi Făt-Frumos s-a supărat şi i-a tăiat un cap. Peste noapte i-au
crescut alte 6 capete în loc. Pe acelaşi gât! A doua zi, Făt-Frumos iar i-a tăiat un cap, dar peste noapte
balaurului i-au crescut în loc alte 6 capete ... şi tot aşa timp de n zile. În cea de a (n+1)-a zi, Făt-Frumos s-a
plictisit şi a plecat acasă!

Cerinţă
Scrieţi un program care citeşte de la tastatură n, numărul de zile, şi care afişează pe ecran câte capete avea
balaurul după n zile.
Exemplu
Pentru n=3, programul va afişa:
Dupa 3 zile balaurul are 15 capete.

Explicaţie:
Iniţial balaurul avea 6 capete. În prima zi Făt-Frumos i-a tăiat un cap şi i-au rămas 5.
Peste noapte i-au crescut alte 6, deci a doua zi dimineaţa balaurul avea 11 capete. În cea de a doua zi Făt-
Frumos îi mai taie balaurului un cap, deci balaurul rămâne cu 10 capete. Peste noapte îi mai cresc 6, astfel că
a treia zi dimineaţă balaurul avea 16 capete. Dar în cea de a treia zi Făt-Frumos îi mai taie balaurului un cap,
deci după cea de a treia zi balaurul a rămas cu 15 capete.
Notă:
Timp de lucru: 3 ore. Fiecare problemă se punctează cu 100 puncte.
Olimpiada Naţională de Informatică pentru Gimnaziu
Clasa a VI-a

Problema 1 – Valori-pantă

Se dă un vector cu N (1N30) elemente numere naturale (cu maxim 8 cifre). Se cere:


a) Să se afişeze câte elemente din vector sunt valori-pantă (numere care privite de la stânga sau de la
dreapta au cifrele în ordine crescătoare) De exemplu, 136 şi 931 sunt valori-pantă.
b) Să se afişeze cea mai mare şi cea mai mică valoare-pantă, precum şi poziţiile pe care se află acestea în
vector.

Exemplu
Dacă programul vostru va citi de la tastatură N=6 şi vectorul cu elementele: 126, 9621, 1212, 3678,
9231, 9621, programul va afişa:
Numarul de valori-panta: 4
Cea mai mare valoare-panta: 9621 pe pozitiile: 2 6
Cea mai mica valoare-panta: 126 pe pozitiile: 1

Observaţie
Dacă la punctul a) sunt 0 valori-pantă, atunci la b) se va afişa mesajul NU EXISTA.

Problema 2 –Cuburi

Fratele cel mic al lui Gigel primise de la Moş Crăciun un joc de cuburi colorate. Gigel tocmai terminase
clasa a V-a şi nu se mai juca cu aşa ceva, dar când nu se uitau ceilalţi parcă l-ar fi însoţit pe cel mic la joc,
mai ales când acesta înşira cele n cuburi unul după altul, iar lui îi treceau prin cap tot felul de cerinţe pe care
proful său de info le-ar fi putut scorni:
a. să vedem câte culori sunt în total;
b. care culoare este folosită pentru cele mai multe cuburi;
c. ce cub ar trebui scos din şir astfel încât să se formeze din cuburile rămase un şir cât mai lung de cuburi
alăturate de aceeaşi culoare.

Cerinţă
Se citesc de la tastatură n, numărul de cuburi, şi apoi, de pe aceeaşi linie, o succesiune de n numere de culori,
separate prin spaţii. Culorile sunt numerotate începând cu 1. Se cere să se afişeze pe ecran câte un răspuns pe
o câte o linie nouă pentru fiecare cerinţă.

Precizări
1. Dacă la cerinţele b, c sunt mai multe soluţii se vor preciza toate.
2. N este numar natural mai mic decât 50, iar culorile sunt în număr de maximum 10, numerotate de la 1
la 10.

Exemplu

Dacă programul va citi numărul de cuburi n=15 , apoi culorile cuburilor:


5 2 5 2 2 3 3 2 3 5 3 3 3 2 2

Programul va afişa pe ecran:


Numarul de culori utilizate: 3
Cele mai utilizate culori: 2 3
Putem scoate un cub de pe una din pozitiile: 10

Notă:
Timp de lucru: 3 ore
Fiecare problemă se punctează cu 100 puncte.
Olimpiada Naţională de Informatică pentru Gimnaziu
Clasa a VII-a

Problema 1 – Panglica

Gigel are o panglică alcătuită din benzi de 1 cm lăţime, colorate în diverse culori. Panglica are N
benzi colorate cu C culori, culori pe care le vom numerota de la 1 la C. Gigel vrea ca la ambele
capete ale panglicii să aibă aceeaşi culoare, dar cum nu poate schimba culorile benzilor, singura
posibilitate rămâne tăierea unor bucăţi de la capete.

Cerinţă
Scrieţi un program care să determine modul de tăiere a panglicii astfel încât la cele două capete să
fie benzi de aceeaşi culoare, iar lungimea panglicii obţinute să fie maximă.

Date de intrare
Fişierul de intrare PANGLICA.IN conţine:
– pe prima linie numerele naturale N şi C separate printr-un spaţiu;
– pe următoarele N linii descrierea panglicii: pe fiecare linie un număr natural de la 1 la C,
reprezentând în ordine culorile fâşiilor ce alcătuiesc panglica.

Date de ieşire
Fişierul de ieşire PANGLICA.OUT va conţine următoarele 4 numere:
– pe prima linie numărul de fâşii rămase;
– pe linia a doua numărul culorii care se află la capete;
– pe linia a treia câte fâşii trebuie tăiate de la începutul panglicii iniţiale;
– pe linia a patra câte fâşii trebuie tăiate de la sfârşitul panglicii iniţiale.

Restricţii şi precizări
 2N10000
 1C200
 Dacă există mai multe soluţii alegeţi pe cea în care se taie cât mai puţin din partea de început a
panglicii.

Exemplul 1 Exemplul 2
PANGLICA.IN PANGLICA.OUT PANGLICA.IN PANGLICA.OUT
6 3 4 5 2 4
1 2 1 2
2 1 2 1
1 1 1 0
3 2
2 2
3

Timp maxim de execuţie: o secundă / test.


Problema 2 – Jocul pietricelelor

Doi prieteni au inventat un nou joc – « jocul pietricelelor ». Ei au la dispoziţie N grămezi, fiecare
dintre ele conţinând un număr distinct de pietricele.
Jocul constă în alegerea unui număr oarecare de grămezi din cele N date, pentru a obţine în total
(adunând numărul de pietricele din grămezile selectate) un număr de pietricele cu 1 mai mare decât
ultimul număr obţinut de partenerul de joc. Primul jucător trebuie să obţină la prima sa mutare un
total de 1 pietricică. Deci, obligatoriu al doilea jucător trebuie să obţină la prima sa mutare un total
de 2 pietricele. La a doua mutare, primul jucator este obligat sa obţină un total de 3 pietricele,
ş.a.m.d.
Câştigă cel care a obţinut totalul maxim, sau, altfel spus, pierde cel care nu reuşeşte să obţină la
rândul său un total cu exact o pietricica mai mare decât ultimul total obţinut de partenerul de joc.

Cerinţă
Scrieţi un program care determină numărul de pietricele obţinut la ultima sa mutare de jucătorul
câştigător.

Date de intrare
Fişierul de intrare JOC.IN conţine:
– pe prima linie numărul N de grămezi;
– pe a doua linie N numere ordonate crescător, reprezentând numărul de pietricele din fiecare
grămadă.

Date de iesire
Fişierul de ieşire JOC.OUT va conţine pe prima linie numărul determinat. Dacă jocul nu poate
începe, fiindcă lipseşte grămada care conţine o pietricică, în fişier se va afişa valoarea 0.

Restricţii
Toate numerele care intervin în problemă sunt mai mici decât 60000.

Exemplu
JOC.IN JOC.OUT
7 7
1 2 4 9 10 11 12

Explicatie:
Notam PJ primul jucător şi DJ al doilea jucător.
PJ are la dispoziţie o grămadă cu o pietricică: 1
DJ are la dispoziţie o grămadă ce conţine două pietricele: 2
PJ alege primele două grămezi: 1+2=3
DJ are la dispoziţie o grămadă ce conţine 4 pietricele: 4
PJ alege prima şi a trei grămadă: 1+4=5
DJ alege a doua şi a treia grămadă: 2+4=6
PJ alege primele trei grămezi: 1+2+4=7
Jocul ia sfârşit deoarece al doilea jucător nu poate obţine o grămadă ce conţine 8 pietricele.

Timp maxim de execuţie: 1 secundă/test

Notă:
Timp de lucru: 3 ore. Fiecare problemă se punctează cu 100 puncte.
Clasa a V-a
Problema 1 (100 puncte)

Exponent

Se dă un număr natural n şi o cifră k din mulţimea {2, 3, 5, 7}.

Cerinţă

Se cere să se afişeze exponentul lui k în descompunerea în factori primi a produsului


1·2·3·...·n.

Date de intrare
De la tastatură se citesc n şi k.

Date de ieşire
Pe ecran se va afişa un singur număr natural, adică exponentul cerut de problemă.

Restricţii
n≤100

Exemplu
Pentru
n=6
k=3
se va afişa
2

Observaţie
Se va afişa 2 pentru că 1·2·3·...·6=24·32·5 şi deci 3 are exponetul 2 în descompunerea în
factori primi.

Timp maxim de executare: 1 secundă/test.


Clasa a V-a
Problema 2 (100 puncte)

Pinochio
În fiecare zi nelucrătoare din săptămână, Pinochio spune câte o minciună datorită
căreia nasul acestuia creşte cu câte p centimetri pe zi. Sâmbăta şi duminica, când vine bunicul
Gepeto acasă, pentru a nu-l supăra prea tare, Pinochio reuşeşte să nu spună nici o minciună,
ba chiar uitându-se în oglindă observă că în fiecare din aceste zile lungimea nasului său scade
cu cate 1 centimetru pe zi. Când începe o nouă săptămână, rămânâd singur acasă Pinochio
continuă şirul minciunilor.

Cerinţă
Care este dimensiunea nasului lui Pinochio după k zile ştiind că iniţial nasul său
măsura n centimetri.

Date de intrare
De la tastatură se citesc n, p şi k.

Date de ieşire
Pe ecran se va afişa un singur număr natural, adică numărul de centimetri cerut de problemă.

Restricţii
1≤n≤1000, 1≤k≤256, 1≤p≤100
Exemplu
Pentru
n=2
p=1
k=8
se va afişa
6 cm

Observaţie
Pentru orice exemplu zilele încep cu luni. Pe exemplul anterior zilele sunt luni, marţi,
miercuri, joi, vineri, sâmbătă, duminică, luni.

Timp maxim de executare: 1 secundă/test.


Clasa a VI-a
Problema 1 (100 puncte)

Visul

Sinbad Marinarul visează că se află într-o peşteră cu comori. Peste tot se aflau cufere
pline cu bijuterii şi monezi din aur, iar peştera era luminată de strălucirea lor. Şi în timp ce
Sinbad se minuna de toate splendorile din jurul său, se auzi o voce misterioasă, care spuse:
“Există o posibilitate de a ajunge aici şi dacă reuşeşti toate aceste comori vor fi ale
tale. Această pesteră se află în vârful muntelui Ararat,dar pe drum, duhurile rele vor încerca să
te oprească. Tu trebuie sa lupti cu ele şi să le învingi în luptă dreaptă. Pentru a deschide
peştera, trebuie sa–ţi aminteşti câte duhuri ai învins şi să rosteşti cu voce tare formula magică.
Formula magică este cel mai mic număr, care are atât prima cifră cât şi numărul de cifre,
egale cu numărul duhurilor rele învinse de tine. Dar atentie! Acest număr, trebuie în plus să
aibă proprietatea că orice secvenţă de două cifre consecutive trebuie să fie numere prime
diferite.”
În acest moment, Sinbad s-a trezit şi vrea să plece în căutarea comorii. Nu se teme de
duhurile rele, dar ştie câte calcule necesită căutarea formulei magice (şi mai ştie că la
matematica nu se descurcă foarte bine). De aceea, vă roagă să-l ajutaţi.

Cerinţă

Simbat vă va spune numărul n (reprezentând numărul duhurilor rele învinse de el), iar tu
trebuie să-i spui formula magică. În cazul în care nu există un astfel de număr, spuneţi-i lui
Sinbad că a fost doar un vis şi că e timpul să se pregătească pentru şcoală.

Date de intrare
De la tastatură se citeşte n.

Date de ieşire
Pe ecran se va afişa un singur număr natural, adică cel cerut de problemă. Dacă nu există
soluţie se va afişa mesajul Nu exista

Restricţii
n≤10

Exemplu
Pentru
n=3
se va afişa
311

Observaţie
În exemplu se afişează 311 pentru că: 31 este număr prim, 11 este număr prim.

Timp maxim de executare: 1 secundă/test.


Clasa a VI-a
Problema 2 (100 puncte)

Gardul
Doi copii vopsesc un gard alcătuit din n scânduri pe care le vom numerota de la 1 la n astfel: primul
ia o cutie de vopsea roşie cu care vopseşte scândurile cu numărul p, 2p, 3p, etc. Al doilea procedează la
fel, începe de la acelaşi capăt al gardului, dar ia o cutie de vopsea albastră şi vopseşte din q în q
scânduri. Astfel, când vor termina de vopsit, gardul va avea multe scânduri nevopsite, unele scânduri
vopsite în roşu, altele în albastru, iar altele în violet (cele care au fost vopsite şi cu roşu şi cu albastru).

Cerinţă
Cunoscând numerele n, p şi q afişaţi :
a) câte scânduri rămân nevopsite
b) câte scânduri sunt vopsite în roşu
c) câte scânduri sunt vopsite în albastru
d) câte scânduri sunt vopsite în violet.

Date de intrare
De la tastatură se citesc n, p şi q.

Date de ieşire
Pe ecran se vor afişa cele patru numere naturale, câte unul pe un rând ca în exemplu.

Restricţii
n≤100000

Exemplu
Pentru
n=25
p=4
q=6
se va afişa :
a)17
b) 4
c) 2
d) 2

Observaţie
Exemplul corespunde situaţiei următoare :
. . . R . A . R . . . V . . . R . A . R . . . V .
A-albastru
R-roşu
V-violet

Timp maxim de executare: 1 secundă/test.


Olimpiada Judeţeană de Informatică
Februarie 2004
Clasa a V-a

Problema 1. "Cifre" 100 puncte

Se dau două numere naturale a, b cu maxim 9 cifre.

Cerinţe

a) Să se determine cifrele distincte, comune numerelor a şi b.


b) Să se afişeze numărul cel mai mare format din toate cifrele lui a şi b.

Date de intrare
Datele de intrare se citesc de la tastatură.

Date de ieşire
Datele de ieşire se afişează pe ecran. Răspunsul la fiecare subpunct va fi precedat de a),
respectiv b) (vezi exemplul).

Observaţie
Datele de intrare sunt corecte (nu necesită validare).

Exemplu
Pentru datele de intrare:
a=2115
b=29025
se va afişa:
a) 2 5
b) 955222110

Timp maxim de executare: 1 secundă/test


Olimpiada Judeţeană de Informatică
Februarie 2004
Clasa a V-a

Problema 2. "Concurs" 100 puncte

La un concurs de matematică participă elevi din mai multe şcoli din diferite oraşe. Pentru a se
putea deosebi între ele lucrările lor, fiecare lucrare este codificată printr-un număr natural cu 3 cifre,
să zicem abc, unde a (cifra sutelor) este codul oraşului, b (cifra zecilor) este codul şcolii din oraşul a,
iar c (cifra unităţilor) este codul unui elev din şcoala b din oraşul a. Exemplu: lucrarea cu codul 328
este lucrarea elevului cu codul 8 de la şcoala cu codul 2 din oraşul cu codul 3.
Se cunosc: un cod (al lucrării unui elev H, prietenul nostru), numărul n de lucrări premiate şi
codurile acestora.

Cerinţă
Se cere să se rezolve cerinţele:
a) Verificaţi dacă H este premiant, sau nu.
b) Determinaţi numărul de premii luate de elevii din oraşul lui H (inclusiv H, dacă a fost premiat).
c) Determinaţi numărul de premii luate de elevii din şcoala lui H (inclusiv H, dacă a fost premiat).

Date de intrare
De la tastatură se citesc: codul lui H, n, cele n coduri premiate.

Date de ieşire
Cele 3 răspunsuri se vor afişa pe ecran, pe câte un rând. Pentru prima cerinţă se va afişa un
mesaj (DA, sau NU), după cum H a luat, sau nu a luat premiu. La cerinţele b) şi c) se va scrie câte un
număr. Fiecare răspuns va fi precedat de o literă (a, b, sau c), pentru a se preciza la ce cerinţă s-a
răspuns.

Restricţii
n este un număr natural nenul; n<20.
Codul de oraş (cifra sutelor din fiecare cod) este de la 1 la 5, inclusiv. Codurile şcolilor din fiecare
oraş (cifra zecilor) este de la 0 la 9, inclusiv, iar codul elevilor (cifra unităţilor) este tot de la 0 la 9
inclusiv.

Observaţie
Datele de intrare sunt corecte (nu necesită validare).

Exemplu
Pentru codul lui H: 234, numărul n=6 şi cele 6 coduri ale lucrărilor premiate: 123, 232, 125,
222, 421 şi 235, se vor da răspunsurile:
a) NU
b) 3
c) 2

Explicaţie
a) codul lui H nu se regăseşte printre cele citite (premiate), deci mesajul este NU
b) lucrările premiate din orasul lui H (cu cifra sutelor egală cu 2) sunt în număr de 3: 232, 222 şi 225
c) lucrările premiate din şcoala lui H (cu cifra sutelor egală cu 2 şi cu cifra zecilor egală cu 3) sunt în
număr de 2: 232 şi 235.

Timp de executare: 1 secundă/test.


Olimpiada Judeţeană de Informatică
Februarie 2004
Clasa a VI-a

Problema 1. "Număr de control" 100 puncte

Gigel a primit spre păstrare un set de n cutii de greutăţi nu neapărat distincte. El a


cântărit cutiile şi pentru fiecare greutate distinctă a notat pe o foaie, în ordine crescătoare a
greutăţilor, numărul de cutii cu greutatea respectivă.
Deoarece fratele său mai mic avea prostul obicei să se joace cu numerele scrise de el
pe foaie, Gigel s-a gândit să calculeze un „număr de control” după următorul algoritm:
începând de la primul număr a grupat numerele de apariţii ale greutăţilor câte trei (dacă îi
rămân numere negrupate la sfârşit, le ignoră). Dacă într-un grup sunt numai numere pare sau
numai impare notează grupul cu cifra 1, altfel îl notează cu cifra 0. Din şirul astfel obţinut, se
formează un număr care are ca valoare cifra zecilor egală cu numărul de valori 1 şi cifra
unităţilor egală cu numărul de valori 0, obţinându-se astfel „numărul de control”.

Cerinţă
Citind greutăţile cutiilor, să se determine „numărul de control” şi să se verifice dacă
este număr prim.

Date de intrare
Se citeşte de la tastatură numărul n urmat de greutăţile cutiilor.

Date de ieşire
Se va scrie pe ecran „numărul de control”, urmat de valoarea 0 sau 1 pe linia
următoare. Pe următoarea linie se va afişa 1 dacă numărul este prim, respectiv 0 în caz
contrar.
Atenţie: Se vor afişa doar două valori, fără mesaje, pe două linii diferite!!!

Restricţii
1  n  100
Fiecare greutate este un număr natural, mai mic sau egal cu 200

Observaţie
Datele de intrare sunt corecte (nu necesită validare).

Exemplu
Date de intrare
n=21
1 3 2 6 2 6 2 8 9 8 8 9 10 8 11 18 11 12 14 15 17

Date de ieşire
31
1
Explicaţie
După ordonare se obţine şirul: 1 2 2 2 3 6 6 8 8 8 8 9 9 10 11 11 12 14 15 17 18
Se obţine apoi: 1 3 1 2 4 2 1 2 1 1 1 1 1

1 1 0 1

Din valorile 1 1 0 1 se obţine numărul de control 31, care este număr prim.
Timp maxim de executare: 1 secundă/test
Olimpiada Judeţeană de Informatică
Februarie 2004
Clasa a VI-a

Problema 2. "Vânătoare" 100 puncte

Vânătorul şef al regelui Arthur a primit însărcinare să vâneze primele raţe ce se întorc
din ţările calde. Regele fiind un tip cu idei fixe, i-a cerut vânătorului să vâneze raţele albe cu
săgeţi albe, iar raţele negre cu săgeţi negre.
Raţele vin în rânduri (stoluri) din ce în ce mai mari: mai întâi una, apoi două, trei,
cinci, opt, treisprezece, ş.a.m.d. Se observă că numărul de raţe dintr-un rând este egal cu
numărul de raţe de pe cele două rânduri anterioare. Raţele fiind nişte creaturi ordonate zboară
în rânduri, în care nu vei putea găsi două raţe de aceeaşi culoare alăturate, fiecare rând
începând cu o raţă albă.
Vânătorul ştie că dacă a început să doboare o raţă, trebuie să le doboare pe toate de
pe rândul acesteia, deoarece supravieţuitoarele vor alerta celelalte raţe şi ele nu se vor mai
întoarce niciodată, iar vânătorul nostru îşi va pierde slujba.

Cerinţă
Ştiind că vânătorul a primit ka săgeţi albe şi kb săgeţi negre, trebuie să determinaţi
câte rânduri de raţe a doborât şi câte săgeţi de fiecare tip i-au rămas, ştiind că el vrea să-şi
păstreze slujba.

Date de intrare
Se citesc de la tastatură numerele ka şi kb (în această ordine).
Atenţie: Valorile se introduc obligatoriu în această ordine!

Date de ieşire
Se va afişa pe ecran:
- numărul de rânduri doborâte
- numărul de săgeţi albe rămase
- numărul de săgeţi negre rămase.

Restricţii
0≤ka, kb≤2.000.000.000

Observaţie
Datele de intrare sunt corecte (nu necesită validare).

Exemplu
Pentru ka=9 şi kb=10
Se va afişa:
4
2
6
Explicaţie
Pentru exemplu avem rândurile (A- raţă albă, N- raţă neagră) de raţe:
A
A N
A N A
A N A N A

Timp maxim de executare: 1 secundă/test


Olimpiada Judeţeană de Informatică
Februarie 2004
Clasa a VII-a

Problema 1. "Şiruri" 100 puncte

Se consideră un vector unidimensional x cu n componente numere naturale distincte, cel


mult egale cu 32 000.

Cerinţă
Scrieţi un program care să construiască vectorul y cu elemente din mulţimea {1, 2, …, n}
astfel încât oricare ar fi numerele naturale i, j cu proprietatea că 1≤i ≤n, 1 ≤j ≤ n şi x[i]<x[j] să
avem y[i]<y[j].

Date de intrare
Fişierul siruri.in va conţine:
- pe prima linie numărul n
- linia a doua componentele vectorului x separate printr-un spaţiu.

Date de iesire
Fisierul siruri.out va conţine pe prima linie componentele vectorului y separate printr-un spaţiu.

Restrictii
1≤n ≤ 100
Componentele vectorului x sunt numere naturale cel mult egale cu 32 000.

Observaţie
Datele de intrare sunt corecte (nu necesită validare).

Exemplu
Siruri.in Siruri.out
6 5 2 3 6 4 1
12 3 7 16 10 1

Timp maxim de executie/test: 0.1 secunde.


Olimpiada Judeţeană de Informatică
Februarie 2004
Clasa a VII-a
Problema 2. "NU te supăra, FRATE!" 100 puncte
Jocul “Nu te supăra, frate!” se joacă de către doi jucatori. Pe o pistă circulară cu n căsuţe numerotate de la
1 la n, în ordinea dată de sensul acelor de ceasornic, se află înscrise valorile 0, 1 şi 10. Cei doi jucători vor avea
fiecare câte un pion şi vor porni pe rând, din căsuţa 1. Începe jucătorul 1. Fiecare jucător va muta pionul său
conform cu valoarea obţinută prin aruncarea zarului, cumulând sau pierzând puncte în funcţie de căsuţa în care
ajunge. Fiecare jucător citeşte valoarea zarului când îi vine râdul.
Jocul are urmatoarele reguli:
1. Câştigătorul poate fi:
- jucătorul care ajunge primul din nou în căsuţa cu numărul 1, indiferent de punctaj (exceptând cazul în
care are punctaj 0)
- în cazul în care se termină şirul aruncărilor cu zarul, înseamnă că jucătorii s-au plictisit şi câştigă cel
care a cumulat mai multe puncte, iar dacă au punctaje egale câştigă cel care se află în căsuţa cu număr
de ordine mai mare.
2. După aruncarea zarului, jucătorul mută pionul cu atâtea căsuţe cât indică valoarea zarului, în ordinea acelor de
ceasornic, începând numărătoarea cu căsuţa următoare poziţiei pe care se află. Prima căsuţă nu conţine
valoarea 0 (zero).
3. După mutare pot apare următoarele situaţii:
- ajunge într-o căsuţă cu valoarea 0 (zero) – jucătorul este penalizat, pierde toate punctele acumulate şi
reia jocul din pozitia 1
- ajunge într-o căsuţă cu valoarea 10 – primeşte un bonus de 10 puncte
- ajunge într-o căsuţă cu valoarea 1 – primeşte 1 punct
- ajunge într-o căsuţă în care se află celălalt pion (cu excepţia căsuţei 1, când câştigă) – jucătorul care
ajunge ultimul este penalizat, pierde toate punctele şi reia jocul de la căsuţa 1.
Cerinţă
Determinaţi jucătorul câştigător, poziţiile fiecărui jucător pe cerc şi punctajul fiecărui jucător.
Date de intrare
În fişierul JOC.IN se dau:
- Pe prima linie numărul n al casutelor din cerc.
- Linia a doua conţine o succesiune de n valori (0, 1 sau 10), separate printr-un spaţiu, reprezentând
valoarea fiecărei căsuţe.
- Linia a treia conţine numărul de aruncări cu zarul
- Linia a patra conţine o succesiune de valori întregi cuprinse între 1 şi 6, separate printr-un spaţiu,
reprezentând aruncarea cu zarul.
Date de ieşire
Fişierul JOC.OUT va conţine 3 linii cu următoarele informaţii:
- pe prima linie: jucătorul câştigător
- pe a doua linie: poziţia şi punctajul jucătorului numărul 1
- pe a treia linie: poziţia şi punctajul jucătorului numărul 2.
Restricţii
7<=n<=100
Observaţie
Datele de intrare sunt corecte (nu necesită validare).
Exemple
JOC.IN JOC.OUT
10 2
1 1 1 1 1 10 0 1 1 0 6 10
8 1 3
3 6 2 4 1 3 5 3
JOC.IN JOC.OUT
7 1
1 1 0 10 1 10 1 1 3
16 1 0
6 4 2 4 6 2 1 3 5 6 3 3 2 1 4 5
JOC.IN JOC.OUT
12 2
1 10 1 1 0 10 1 1 1 10 0 1 9 11
4 10 11
5 6 3 3
Timp maxim de executie/test: 0.1 secunde.
Olimpiada Judeţeană de Informatică
Februarie 2004
Clasa a VIII-a

Problema 1. "Spre culmi" 100 puncte

Dornic de o condiţie fizică perfectă, un viitor olimpic naţional la informatică îşi propune să
escaladeze cea mai înaltă culme a unui un masiv muntos. Se echipează corespunzator, îşi cumpără un termos,
îl umple cu apa, culege informaţiile despre traseele existente şi completează astfel fişierul de intrare
popas.in. Pe parcursul fiecărui traseu există mai multe izvoare de la care drumeţul îşi poate umple termosul.
Ştiind că pe munte este bine să mergi cu pas constant şi fără ruperi de ritm, îşi propune să atingă culmea
facând cât mai puţine popasuri (pentru umplerea termosului).

Date de intrare
Fişierul popas.in conţine:
- pe prima linie, k- numărul total de trasee către culme
- pe fiecare dintre următoarele k linii descrierea câte unui traseu (pe fiecare linie numerele sunt
separate prin câte un spaţiu), adică:
- i - numărul asociat traseului (fiecare traseu este identificat în mod unic printr-un număr
natural cuprins între 1 şi k)
- r - numărul izvoarelor cu apă rece de pe traseu
- d1,d2,…,dr – r numere reprezentând distanţa de la punctul de plecare până la fiecare izvor
- pe ultimele două linii:
- t distanţa pentru care drumeţului îi este suficientă apa din termos
- u distanţa pe care drumeţul o poate străbate fără apă

Cerinţă
Dintre toate traseele existente către culme determinaţi-l pe cel pentru care numărul total de
popasuri este minim. Dacă sunt mai multe astfel de trasee, se va alege cel care este scris ultimul în fişierul
de intrare.

Date de iesire
Fişierul popas.out va conţine pe aceeasi linie, despărţite prin spaţiu, două numere: primul reprezintă
numărul minim de popasuri necesare deplasarii şi al doilea numărul traseului ales. Dacă problema nu are
soluţie fişierul de ieşire va conţine cifra 0.

Observaţii
 În fişierul de intrare toate distanţele sunt exprimate în kilometri
 Pentru fiecare traseu distanţa dintre ultimul izvor (cel mai îndepărtat de punctul de plecare) şi culme este
de 1 kilometru.

Restrictii
 0<k<=100; 0<r<=20; 0<di<=360; 1<=t<=10; 1<=u<=5
Datele de intrare sunt corecte (nu necesită validare).

Exemple
popas.in popas.out
3 1 1
2 3 12 5 9
1 4 2 9 7 11
3 5 2 16 7 9 8
6
2
popas.in popas.out
2 0
1 3 12 5 9
2 3 2 7 11
1
2

Timp maxim de execuţie: 1 secundă/test


Olimpiada Judeţeană de Informatică
Februarie 2004
Clasa a VIII-a

Problema 2. "Ronul fermecat" 100 puncte

Lidorienii şi senopictii sunt în conflict pentru ronul fermecat 1, fiind arbitraţi de orintieni,
aleşi de părţile beligerante drept judecători. Orintia a propus: „Ronul fermecat va fi ascuns printre
alţi k roni cu acelaşi aspect, dar toţi realizaţi dintr-un material mai greu decât originalul, având
masa, standard, diferită de cea a ronului femecat. Pentru a-l descoperi, vă gandiţi că aveţi la
dispoziţie o balanţă şi toţi cei k+1 roni. Lidorienii, apoi senopictii vor spune un singur număr,
reprezentând numărul maxim de cântăriri admis2 pentru descoperirea ronului fermecat.
Dacă nici una dintre părţi nu spune numărul corect, atunci ronul fermecat va rămâne în
Orintia. Dacă ambele părţi spun numărul corect, ronul va rămâne tot la orintieni.”.

Cerinţă
Sarcina voastră este să indicaţi ţara care câştigă ronul fermecat: Lidoria -L, Senopictia –S, Orintia
–O.

Date de intrare
Fisierul ron.in are pe prima linie numărul k, iar pe linia a doua două numere RL, respectiv RS
separate printr-un spaţiu. RL reprezintă răspunsul lidorienilor, iar RS răspunsul senopictilor.

Date de ieşire
Fisierul ron.out contine una din literele L, S şi O.

Restricţii
1 < k < 10000
RL, RL sunt numere naturale cel mult egale cu k

Exemple
ron.in ron.out Explicaţie: maximul admis este 2, deci
7 O ronul fermecat rămâne în Orintia
1 3
ron.in ron.out Explicaţie: maximul admis este 2, dar
4 O fiind egalitate, ronul rămâne în Orintia
2 2

Timp maxim de executare: 1 secundă/test

1
cuboid gravat cu semnele fixe ale puterii
2
numărul acesta nu se obţine cântărind un ron de mai multe ori şi nici cântărind de cât mai multe ori ronii;
cântărirea presupune să existe, pe fiecare braţ al balanţei, un număr egal de roni (1-1, 2-2, etc.)
Ministerul Educaţiei şi Cercetării
Olimpiada de Informatică Clasa a V-a
Faza judeţeană, 26-27 februarie 2005

Problema 2– Mulţimi 100 puncte


Se consideră n mulţimi. Fiecare mulţime conţine numai numere consecutive. Pentru a da aceste mulţimi este
suficient să dăm primul şi ultimul element.

Cerinţă
Scrieţi un program care să determine elementele intersecţiei celor n mulţimi.

Date de intrare

De la tastatură se citeşte numărul n. Apoi perechi de numere, câte una pe un rând, separate prin câte un
spaţiu, care reprezintă cel mai mic, respectiv cel mai mare element din fiecare mulţime.

Date de ieşire

Pe ecran se va afişa pe prima linie elementele intersecţiei cu câte un spaţiu între ele.

Restricţii şi precizări
0 < n < 31
Elementele mulţimilor sunt numere naturale < 41.

Exemplu
Date de intrare Date de ieşire Explicaţie
n=3 5 6 7 8 9 Avem mulţimile
5 10 {5,6,7,8,9,10}
4 11 {4,5,6,7,8,9,10,11}
2 9 {2,3,4,5,6,7,8,9}
şi intersecţia:
{5,6,7,8,9}

Timp maxim de execuţie/test: 1 secundă.


Ministerul Educaţiei şi Cercetării
Olimpiada de Informatică Clasa a V-a
Faza judeţeană, 26-27 februarie 2005

Problema 1– Ultima cifră 100 puncte


Fie n un număr natural şi s suma următoare:

s = 1+ 22 + 33 + … + nn.

Cerinţă
Scrieţi un program care să afişeze ultima cifră a lui s.

Date de intrare

De la tastatură se citeşte numărul n.

Date de ieşire

Pe ecran se va afişa numai ultima cifră a lui s.

Restricţii şi precizări
0 < n < 101

Exemplu
Date de intrare Date de ieşire Explicaţie
n=3 2 Suma este 32 şi ultima cifră 2.

Timp maxim de execuţie/test: 1 secundă.


Ministerul Educaţiei şi Cercetării
Olimpiada de Informatică Clasa a VI-a
Faza judeţeană, 26-27 februarie 2005

Problema 1– Numere 100 puncte


Fie a şi b două numere naturale. Se reprezintă cele două numere în baza 2. Celor două valori obţinute prin
reprezentarea în baza 2 li se aplică următoarea transformare: dacă prima cifră (cea mai din stânga) din
reprezentarea în baza 2 a numărului a este egală cu ultima cifră (cea mai din dreapta) din reprezentarea în
baza 2 a numărului b, atunci se elimină prima cifră (cea mai din stânga) din reprezentarea în baza 2 a
numărului a şi ultima cifră (cea mai din dreapta) din reprezentarea în baza 2 a numărului b şi se continuă
transformările în acelaşi mod până când prima cifră (cea mai din stânga) din reprezentarea în baza 2 a
numărului a este diferită de ultima cifră (cea mai din dreapta) din reprezentarea în baza 2 a numărului b.
Valorile rămase după transformările suferite se reprezintă în baza 10, obţinându-se două numere: c şi d.
Observaţii:
1. Dacă asupra celor două reprezentări în baza 2 nu s-a efectuat nici o transformare, întrucât prima cifră
din reprezentarea numărului a este diferită de ultima cifră din reprezentarea în baza 2 a numărului b,
atunci numărul c va fi identic cu numărul a, iar d cu numărul b.
2. Dacă în urma unei transformări se elimină şi ultima cifră din reprezentarea în baza 2, numărul
rezultat este 0.
Cerinţă
Scrieţi un program care citeşte numerele a şi b şi care afişează valoarea obţinută însumând cele două numere
c şi d.
Date de intrare
Cele două valori a şi b se citesc de la tastatură.
Date de ieşire
Rezultatul va conţine un număr natural care se va afişa pe ecran.
Restricţii şi precizări:
a, b sunt numere naturale; 0 < a, b < 30000
Exemplu
Intrare Ieşire Explicaţii
a=13 1 Explicaţie: în baza 2, numărul 13 se scrie 1101
b=27 în baza 2, numărul 27 se scrie 11011
După prima transformare se obţin: 101, respectiv 1101. Se
continuă transformările şi se obţin: 01, respectiv 110. Se continuă
transformarea şi se obţine 1, respectiv 11. Se continuă
transformarea şi se obţin: 0 şi 1. Se face conversia şi se obţin: c=0
şi d=1. Deci, suma c + d este 1.
a=13 17 Explicaţie: în baza 2, numarul 13 se scrie 1101
b=25 în baza 2, numarul 25 se scrie 11001
După prima transformare se obţin : 101, respectiv 1100. Din acest
moment nu se mai pot face transformări. Se reprezintă 101 în baza
10 şi se obţine 5, iar 1100 se reprezintă în baza 10 şi se obţine 12.
Deci, c=5 şi d=12, iar suma c + d este 17.
a=13 33 Explicaţie: în baza 2, numarul 13 se scrie 1101
b=20 în baza 2, numarul 20 se scrie 1100
Se observă că prima cifră din reprezentarea lui a este diferită de
ultima cifră din reprezentarea lui b. Deci, nu se face nici o
transformare. Se obţin după conversia în baza 10: c=13 şi d=20.
Deci, suma c + d este 33.

Timp maxim de execuţie/test: 1 secundă.


Ministerul Educaţiei şi Cercetării
Olimpiada de Informatică Clasa a VI-a
Faza judeţeană, 26-27 februarie 2005

Problema 2 – Şir 100 puncte


Se citeşte de la tastatură numărul natural k. Dorim să obţinem un tablou unidimensional a, cu elemente naturale
constituite astfel: a[1] = un număr de două cifre (cifra zecilor a lui a[1] este cifra sutelor produsului k*k, iar
cifra unităţilor lui a[1] este cifra zecilor produsului k*k).
Pentru i>1, a[i] se obţine astfel: a[i] = un număr de două cifre (cifra zecilor a lui a[i] este cifra sutelor
produsului a[i-1]*a[i-1], iar cifra unităţilor a lui a[i]este cifra zecilor produsului a[i-1]*a[i-1]).
Procesul de generare a termenilor tabloului se încheie în momentul când este generat un număr ce a mai fost
generat înainte. Ultimul număr (cel ce se repetă) nu face parte din tablou.
Observaţie
Este posibil ca numerele numite în text ca fiind de “două cifre” să aibă de fapt doar o cifră, în cazul în care cifra
zecilor lor este 0; ele pot fi chiar şi 0.
Cerinţă
Scrieţi un program care:
a) să afişeze elementele tabloului obţinut;
b) să afişeze elementele tabloului obţinut, dar sortate crescător după prima lor cifră (cea mai din stânga).
Precizări
1) La cerinţa a doua: dacă două sau mai multe elemente din tabloul a au aceeaşi primă cifră, atunci aceste
elemente se pot afişa în orice ordine ce respectă cerinţa. În exemplul de mai jos, afişarea pentru cerinţa a doua
putea fi şi sub forma: 0 2 25 5 62 84, adică am interschimbat 2 cu 25, pentru că ambele au prima
cifră 2; în acest caz, alte posibilităţi de afişare nu mai sunt.
2) Pentru prima cerinţă rezolvată corect se atribuie 60% din punctaj, iar pentru a doua, încă 40% din punctaj.
Date de intrare
Numărul k se citeşte de la tastatură.
Date de ieşire
a) Pe prima linie a ecranului se vor afişa elementele tabloului a, în ordinea generării lor, separate de un spaţiu.
b) Pe a doua linie a ecranului se vor afişa elementele tabloului a, în ordinea cerută la cerinţa a doua; elementele
vor fi separate de câte un spaţiu.
Restricţii
Numărul k este natural, 11<=k<=999
Exemplu
Intrare Ieşire Explicaţii
k=16 25 62 84 5 2 0 a) k*k=16*16=256; a[1]=25;
0 25 2 5 62 84 25*25=625; a[2]=62;
62*62=3844; a[3]=84
84*84=7056; a[4]=5;
5*5=25; a[5]=2;
2*2=4; a[6]=0
0*0=0 şi aici se opreşte generarea tabloului cu 6 elemente, care se afişează.
b) a[1]=25; prima sa cifră este 2;
a[2]=62; prima sa cifră este 6;
a[3]=84; prima sa cifră este 8;
a[4]=5; prima sa cifră este 5;
a[5]=2; prima sa cifră este 2;
a[6]=0; prima sa cifră este 0.
În urma sortării acestor prime cifre: 2 (asociată cu a[1]), 6 (asociată cu a[2]), 8
(asociată cu a[3]), 5 (asociată cu a[4]), 2 (asociată cu a[5]) şi 0 (asociată cu
a[6]), se obţine ordinea nouă a acestor numere: 0, 2, 2, 5, 6, 8, asociate respectiv cu
elementele din tabloul a: 0, 25, 2, 5, 62, 84; elementele din a se vor afişa în aceasta
ordine, sau în ordinea: 0, 2, 25, 5, 62, 84.
Timp maxim de execuţie/test: 1 secundă.
Ministerul Educaţiei şi Cercetării
Olimpiada de Informatică Clasa a VIII-a
Faza judeţeană, 19 martie 2006

Problema 2 - Elfi 100 puncte


Marele vrăjitor Prospero are o grădină minunată îngrijită de o
sumedenie de spiriduşi care n-au altă sarcină decât să zboare la 4
orele dimineţii de-a lungul aleilor şi să stropească plantele din 2
vasele ornamentale de piatră aflate pe margine. Există un havuz
chiar la capătul grădinii şi o alee principală ce porneşte de la havuz 1
şi duce până la intrare. Din aleea principală se desprind alei
secundare ce formează ronduri alungite revenind, în acelaşi loc, la 3
aleea principală. 5
Se ştie că există n spiriduşi, numerotaţi de la 1 la n, fiecare
pentru câte una dintre aleile secundare. Toţi pornesc de la havuz la
ora 5:00:00 dimineaţa cu câte un vas cu apă pregătit de cu seară,
străbat aleea principală până la rondul lor, apoi parcurg aleea rondului propriu, revin în aleea principală, se
întorc la havuz pentru a se alimenta cu apă şi o iau de la capăt la fel, până la ora 9:00:00 când se retrag la
umbră pentru somn. Se ştie că toţi spiriduşii zboară fără încetare, cu aceeaşi viteză, pe toată durata celor
exact 4 ore. Se cunosc, pentru fiecare spiriduş, numărul de secunde necesare pentru a ajunge de la havuz la
rondul propriu şi numărul de secunde necesare pentru a parcurge în întregime rondul propriu. Orice spiriduş
care ajunge la havuz îşi umple vasul în exact o secundă, de la un robinet aflat pe marginea havuzului. De
exemplu, dacă spiriduşul care se ocupă de rondul 5 din figură are nevoie de 2 secunde pentru a ajunge la
rondul său şi de 15 secunde pentru a parcurge rondul 5, atunci va reveni la havuz pentru a-şi umple vasul la
orele 5:00:19 (2+15+2), îşi umple vasul şi porneşte iar la ora 5:00:20, revine iar la 5:00:39 şi pleacă iar la ora
5:00:40 etc.
Doi spiriduşi nu îşi pot umple vasul în acelaşi moment de la acelaşi robinet.

Cerinţă:
Se cere să se determine numărul minim de robinete cu care trebuie să fie prevăzut havuzul astfel
încât nici un spiriduş, în nici un moment, să nu fie nevoit să aştepte pentru a-şi putea umple vasul cu apă.

Date de intrare:
Din fişierul elfi.in se citesc:
- n numărul de spiriduşi, de pe primul rând
- n perechi de forma ci pi reprezentând numărul de secunde de la havuz la rondul propriu şi respectiv
numărul de secunde necesar pentru parcurgerea rondului propriu, de pe următoarele n linii ale fişierului

Date de ieşire:
În fişierul elfi.out se scrie un singur număr reprezentând numărul minim de robinete necesare

Restrictii:
1<n<5001
0<ci<101
0<pi<101

Exemplu:
elfi.in elfi.out Explicaţie
5 4 Primul, al treilea, al patrulea şi al cincilea spiriduş
7 4 se întâlnesc simultan la havuz la ora 7 :12 :59 şi-şi
7 8 umplu vasele până la ora 7 :13 :00
4 5
7 6
2 15

Timp de rulare/test: 1 secundă


Ministerul Educaţiei şi Cercetării
Olimpiada de Informatică Clasa a VIII-a
Faza judeţeană, 26-27 februarie 2005

Problema 1 – Muzică 100 puncte


Fiind elev la un liceu de artă, secţia muzică, Andrei îşi propune să studieze o gamă nouă formată din 10 note
muzicale. Pasionat şi de matematică îşi propune pornind de la două numere naturale a şi b (a<b) să compună
o „Simfonie interminabilă”, generând un şir de note în gama cea nouă. Astfel, el generează fiecare notă a
simfoniei înmulţind pe a cu 10 şi împărţind rezultatul la b (împărţire întreagă). Pentru a nu genera aceeaşi
notă, el modifică de fiecare dată pe a, înlocuindu-l cu restul împărţirii lui a*10 la b. Deci notele sunt
generate după regula a*10 div b, unde după fiecare pas a se schimbă astfel: a=a*10 mod b (operaţia
div reprezintă câtul întreg al împărţirii, iar mod este întregul ce reprezintă restul împărţirii întregi a două
numere).
Astfel, pornind de la a=42 şi b=130, el va genera notele:
3 2 3 0 7 6 9 2 3 0 7 6 9 2 etc.
3= 42*10 div 130, iar a devine a=42*10 mod 130, deci a=30
2= 30*10 div 130, a=300 mod 130, a=40
3= 40*10 div 130, a=400 mod 130, a=10
0= 10*10 div 130, a=100 mod 130, a=100
7=100*10 div 130, a=1000 mod 130, a=90
6= 90*10 div 130, a=900 mod 130, a=120
9=120*10 div 130, a=1200 mod 130, a=30
2= 30*10 div 130, a=300 mod 130, a=40
etc.
Ascultând simfonia, Andrei constată că, de la un moment dat, o secvenţă începe să se repete identic de un
număr infinit de ori. Andrei numeşte secvenţa formată de primele note, cele aflate înaintea secvenţei care se
repetă, „tema”, iar secvenţa care se repetă, „refrenul” simfoniei. De exemplu, în secvenţa anterioară, 3 este
tema, iar 230769 este refrenul.
El consideră tema şi refrenul cu lungimi cât mai mici posibil. Astfel, în exemplul anterior, nu se pot
considera temă respectiv refren nici 32 şi 307692, nici 3 şi 230769230769.
Există şi cazul în care nu există temă, adică simfonia începe direct cu refrenul.
Cerinţă
Scrieţi un program care, citind două numere naturale a şi b (a<b), va determina cifrele temei şi cifrele
refrenului. Se vor afişa cifrele temei, în continuare cifrele refrenului apoi un spaţiu urmat de un număr
reprezentând câte cifre are refrenul.
Date de intrare
Fişierul de intrare muzica.in conţine pe prima linie două valori: a şi b numere naturale, separate printr-un
spaţiu.
Date de ieşire
Fişierul de ieşire muzica.out va conţine o singură linie cu cifrele temei urmate în continuare de cifrele
refrenului şi, după un spaţiu, numărul de cifre ale refrenului.
Restricţii şi precizări
1 < a, b < 1000
a şi b sunt distincte

Exemplu
muzica.in muzica.out Explicaţie
164 824 19902912621359223300970873786407766 34 1 este tema
99029126213... este refrenul
13 32 406250 1 40625 este tema
0 este refrenul
6 11 54 2 nu există temă
54

Timp maxim de execuţie: 1 secundă/test.


Ministerul Educaţiei şi Cercetării
Olimpiada de Informatică Clasa a VIII-a
Faza judeţeană, 26-27 februarie 2005

Problema 2 – Volei 100 puncte


Câţiva băieţi, după un fotbal mic, au hotărât să participe la jocul liber de volei al fetelor. Fetele sunt aşezate
în cerc şi nu îşi schimbă locurile între ele. Un băiat se poate ataşa jocului fetelor numai dacă se aşează între
două fete şi este mai înalt (strict) decât amândouă.
Cerinţă
Cunoscând numărul de fete şi înălţimea fiecăreia, în ordinea în care se află ele pe cerc, numărul băieţilor şi
înălţimea fiecăruia, se cere să se determine un număr maxim de băieţi care pot participa la joc şi poziţia
ocupată de fiecare pe cerc.
Date de intrare
Din fişierul text de intrare volei.in se citesc:
– de pe prima linie un număr natural n, numărul de fete din joc;
– de pe cea de a doua linie, n numere naturale nenule de cel mult 3 cifre fiecare, despărţite prin câte un
spaţiu, numere reprezentând înălţimile fetelor, în ordinea de pe cerc, în sensul acelor de ceasornic,
pornind de la o fată oarecare;
– de pe cea de a treia linie, un număr natural m, numărul de băieţi care vor să intre în joc;
– de pe cea de a patra linie, m numere naturale nenule de cel mult 3 cifre fiecare, despărţite prin câte un
spaţiu, numere reprezentând înălţimile băieţilor care vor să intre în joc.
Date de ieşire
În fişierul text de ieşire volei.out se scriu:
– pe prima linie un număr natural k, reprezentând numărul maxim de băieţi care pot participa la joc;
– pe linia următoare, n+k numere naturale, despărţite prin câte un spaţiu, numere reprezentând înălţimile
jucătorilor de volei, în ordinea de pe cerc, în sensul acelor de ceasornic, pornind de la aceeaşi fată din
fişierul de intrare, înălţimile băieţilor fiind scrise între paranteze.
Restricţii
0<n2000 25
50 15
0<m2000
Observaţii 20
 Dacă există mai multe posibilităţi de a insera k
băieţi în joc, se va scrie una singură. 31 11
 Dacă numerele reprezentând înălţimile nu vi se par
plauzibile, atunci puteţi considera că ele reprezintă
coeficientul de inteligenţă al fiecărei persoane. 72
 Pentru afişarea valorii corecte a numărului k se
acordă 40 de puncte, iar pentru soluţia completă (k maxim şi configuraţia corectă a celor n+k înălţimi
ale jucătorilor) se acordă 100 de puncte.
Exemple
volei.in volei.in volei.in
4 6 4
15 11 72 31 15 8 20 19 16 30 10 20 15 100
3 3 2
20 50 25 20 30 16 20 8

volei.out volei.out volei.out


2 3 0
15 (20) 11 72 31 (50) 15 (16) 8 (30) 20 19 (20) 16 30 10 20 15 100
sau (vezi figura) sau
2 3
15 (25) 11 72 31 (50) 15 (16) 8 20 (30) 19 (20) 16 30

Timp maxim de execuţie/test: 1 secundă


Ministerul Educaţiei şi Cercetării
Olimpiada de Informatică Clasa a V-a
Faza judeţeană, 19 martie 2006

Problema 1 – Case 100 puncte


Păcală, tocmai a fost ales primar în satul său, motiv pentru care şi-a luat rolul în
serios şi dorind să aibă o evidenţă clară a sătenilor a numerotat casele din sat astfel încât să
ştie câţi bărbaţi, femei şi copii locuiesc în fiecare casă.
Astfel, toate casele au un număr format din 3 cifre, unde prima cifră (de la stânga la
dreapta) reprezintă numărul de bărbaţi ce locuiesc în acea casă (pot fi maxim 9 bărbaţi), a
doua cifră reprezintă numărul de femei (pot fi maxim 9 femei), şi în fine ultima cifră a
numărului reprezintă numărul de copii (maxim 9) ce aparţin familiei din acea casă.
Cerinţă
Cunoscându-se numărul de case din satul lui Păcală, precum şi numerele acestora
să se determine:
- numărul total al sătenilor din sat.
- numărul minim de membrii ai unei familii.
- câte familii au număr minim de membrii.

Date de intrare
De la tastatură se citesc n, numărul de case şi apoi n numere naturale de 3 cifre,
care reprezintă numerele caselor.

Date de ieşire
Pe primul rând de ecran se va afişa numărul total al sătenilor.
Pe al doilea rând al ecranului se va afişa numărul minim de membrii ai unei case.
Pe al treilea rând al ecranului se va afişa numărul familiilor cu număr minim de
membri.

Restricţii şi precizări
- numărul de case este mai mic decât 100
- în fiecare casă există cel puţin un bărbat şi cel puţin o femeie.
Exemplu
Date de Explicaţie Date de ieşire
intrare
6 6 case 48
232 casa 1 : 2 bărbaţi, 3 femei, 2 copii 7
215 casa 2 : 2 bărbaţi, 1 femei, 5 copii 3
340 casa 3 : 3 bărbaţi, 4 femei, 0 copii
325 casa 4 : 3 bărbaţi, 2 femei, 5 copii
450 casa 5 : 4 bărbaţi, 5 femei, 0 copii
124 casa 6 : 1 bărbaţi, 2 femei, 4 copii
Numărul total al sătenilor : 48
Numărul minim de membrii : 7
Numărul de familii cu număr minim : 3 (familiile din
casele 1, 3 şi 6)

Timp maxim de execuţie/test: 1 secundă


Ministerul Educaţiei şi Cercetării
Olimpiada de Informatică Clasa a V-a
Faza judeţeană, 19 martie 2006

Problema 2 – Vrăji 100 puncte


La Şcoala de Vrăjitorie Hogswarts, Harry Potter şi colegii săi îşi pun la încercare puterea vrăjilor cu ajutorul
baghetelor magice. O vrajă constă în mutarea unuia sau a mai multor obiecte din încăperile şcolii în ‘camera vrăjilor’
unde se află adunaţi toţi elevii.
Fiecare dintre cei n ‘elevi vrăjitori’ este înzestrat cu o anumită putere; dacă un elev are puterea 1, cu o vrajă el
aduce 1 obiect, dacă puterea este 2 cu o vrajă el va aduce 2 obiecte, … pentru un elev cu puterea de valoare p, cu o vrajă
el va aduce p obiecte. Pe de altă parte, fiecare elev are o anumită rapiditate (viteză) de efectuare a vrăjilor. Astfel, pe
parcursul unei ore, un elev cu viteza 1 va reuşi să facă o singură vrajă, un elev cu viteza 2 va reuşi două vrăji una după
alta etc. Evident, un elev cu puterea 3 şi care are viteza 4, va reuşi să aducă până la sfârşitul orei 12 obiecte (3 la prima
vrajă, încă 3 la a doua vrajă, încă 3 la a treia vrajă şi încă 3 la ultima vrajă).
La sfârşitul orei de vrăjitorie, fiecare elev primeşte un număr de cutii pentru a ambala în ele numai obiectele
aduse de el, astfel încât în fiecare dintre cutiile sale să se afle acelaşi număr de obiecte. Profesorul Dumbledore vrea în
plus ca fiecare elev să primească acelaşi număr de cutii. O soluţie simplă ar fi să distribuie fiecărui elev o singură cutie,
însă el şi-ar dori să distribuie cât mai multe cutii.
Cerinţă:
Cunoscând pentru fiecare dintre cei n ‘elevi vrăjitori’ ai şcolii Hogswarts, puterea cu care este înzestrat şi
viteza cu care reuşeşte să facă vrăjile, determinaţi:
- cel mai mare număr de obiecte ce pot fi aduse până la sfârşitul orei de către un singur ‘elev vrăjitor’
- care este numărul maxim de cutii pe care le va primi fiecare elev ţinând cont de faptul că fiecare elev va
trebui să îşi distribuie în mod egal obiectele sale în aceste cutii;
Date de intrare:
De la tastatură se citesc
- n numărul elevilor,
- pentru fiecare elev se vor citi de pe un rând de ecran 2 numere despărţite prin spaţiu reprezentând puterea sa şi
viteza sa (în această ordine)

Date de ieşire:
Se vor afişa pe ecran
- pe primul rând, cel mai mare număr de obiecte ce pot fi aduse în ‘camera vrăjilor’ de către un singur ‘elev
vrăjitor’ la sfârşitul orei
- pe al doilea rând, cel mai mare număr de cutii pe care îl poate primi fiecare elev respectând condiţiile din
problemă
Restricţii şi precizări:
- Numărul n al elevilor, puterea şi viteza fiecăruia sunt numere naturale mai mari decât zero şi mai mici sau egale
cu 100
- Fiecare cutie va conţine numai obiecte ale unui singur ‘elev vrăjitor’
- Fiecare elev va primi acelaşi număr de cutii
Verificaţi să NU aveţi în programul vostru uses crt sau #include <conio.h>
Exemplu:
Date de intrare Date de ieşire Explicaţie
5 40 5 - ‘elevi vrăjitori’
5 2 2 elev 1 : Număr total de obiecte =5*2=10
6 4 elev 2 : Număr total de obiecte=6*4=24
3 10 elev 3 : Număr total de obiecte=3*10=30
20 2 elev 4 : Număr total de obiecte=20*2=40
7 2 elev 5 : Număr total de obiecte=7*2=14
40 este cel mai mare număr de obiecte aduse de un vrăjitor
2 este cel mai mare număr de cutii pe care îl poate primi fiecare elev
Date de intrare Date de ieşire Explicaţie
3 48 3 - ‘elevi vrăjitori’
4 2 4 elev 1 : Număr total de obiecte =4*2=8
6 8 elev 2 : Număr total de obiecte=6*8=48
6 6 elev 3 : Număr total de obiecte=6*6=36
48 este cel mai mare număr de obiecte aduse de un vrăjitor
4 este cel mai mare număr de cutii pe care îl poate primi fiecare elev

Timp de rulare/test: 1 secundă


Ministerul Educaţiei şi Cercetării
Olimpiada de Informatică Clasa a VI-a
Faza judeţeană, 19 martie 2006

Problema 2 – Cifre 100 puncte


Ionel a primit temă de la profesorul său: să scrie pe hârtie numerele de la 1 la n. Cum
numărul n era destul de mare el s-a cam plictisit şi a început să se joace numărând de câte ori a
apărut o anumită cifră în numerele ce trebuiau scrise. Cum număratul era o activitate destul de lentă,
el a găsit o metodă simplă de a calcula de câte ori a apărut o cifră în toate numerele tipărite.

Cerinţă:
Scrieţi un program care, citind numărul n şi o cifră nenulă c, afişează numărul de apariţii ale cifrei c
în reprezentarea tuturor numerelor de la 1 la n.

Date de intrare:
Se citesc de la tastatură numerele n şi c.

Date de ieşire:
Se afişează numărul de apariţii al cifrei c în reprezentarea tuturor numerelor de la 1 la n.

Restrictii si precizari:
0<n<1 000 000 000
0<c<10

Exemplu:
Pentru n=15 şi c=1 se afişează 8.
Explicaţie: în şirul 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15, cifra 1 apare de 8 ori.

Timp de rulare/test: 1 secundă


Ministerul Educaţiei şi Cercetării
Olimpiada de Informatică Clasa a VI-a
Faza judeţeană, 19 martie 2006

Problema 1 - Piramida 100 puncte


Fiecare dintre noi am vrea să aflăm care este numărul nostru norocos, ce ne va influenţa pe tot
parcursul vieţii. Acest număr nenul format dintr-o singură cifră se poate determina în funcţie de
numele fiecărei persoane.
Pentru a afla acest număr există o tehnică veche de mii de ani, tehnică ce consta în
construirea piramidei norocului efectuând doar operaţii de adunare în mulţimea cifrelor. Astfel, se
asociază fiecărei litere a alfabetului o cifră nenulă , conform tabelului de mai jos:
1 2 3 4 5 6 7 8 9
A B C D E F G H I
J K L M N O P Q R
S T U V W X Y Z
Cifra norocoasă se determină astfel: se notează în dreptul fiecărei litere cifra
corespunzătoare şi se adună două câte două cifrele vecine, obţinându-se un nou şir de cifre cu care
se va proceda la fel până în momentul în care se obţine o singură cifră.
De fiecare dată se va obţine ca rezultat al unei adunări dintre două cifre tot un număr nenul mai mic
sau egal cu 9, pentru rezultatele mai mari se va aplica din nou operaţia de adunare a cifrelor ce
compun acest rezultat, obţinându-se în final tot o cifră.

Cerinţă:
Introducându-se de la tastatură un şir de caractere ce reprezintă numele unei persoane, afişaţi
piramida norocului şi determinaţi cifra norocoasă corespunzătoare.

Date de intrare:
- se va citi de la tastatură un şir de caractere ce reprezintă numele unei persoane;
- acest şir de caractere este corect introdus şi nu conţine decât litere; nu are importanţă dacă
sunt sau nu majuscule.

Date de ieşire:
- pe ecran se va afişa pe primul rând numele persoanei (şirul de caractere introdus de la
tastatură);
- pe următoarele rânduri se va afişa piramida norocului astfel:
- cifrele de pe un rând al piramidei se vor afişa despărţite de un spaţiu;
- primul rând de cifre al piramidei va fi aliniat la marginea din stânga a ecranului, celelalte
rânduri vor fi astfel afişate încât să dea forma piramidei aşa cum este afişată în exemplul
de mai jos.

Restrictii si precizari:
- şirul de caractere introdus de la tastatură nu va depăşi 80 de caractere.

Exemplu:
SONIA
1 6 5 9 1  1+6=7 6+5=11=1+1=2 5+9=14=1+4=5 9+1=10=1+0=1
7 2 5 1
9 7 6
7 4
2
Timp de rulare/test: 1 secundă
Ministerul Educaţiei şi Cercetării
Olimpiada de Informatică Clasa a VIII-a
Faza judeţeană, 19 martie 2006

Problema 1 - Mare 100 puncte


Se dau n numere naturale x1, …, xn. Cu secvenţe de numere din şirul x1, …, xn se pot
forma numere mari scriind numerele secvenţei unul după altul fără spaţii între ele.

Cerinţă:
Dintre toate numerele mari formate ca mai sus, se cere să se determine cel mai mare
dintre ele care este palindrom.

Date de intrare:
Fişierul de intrare mare.in conţine pe prima linie numărul n, iar pe linia a doua
numerele naturale x1, …, xn cu un spaţiu între ele.

Date de ieşire:
Fişierul de ieşire mare.out va conţine pe prima linie numărul mare din cerinţă.

Restrictii:
1 n 100
x1, …, xn sunt numere naturale cu maximum 9 cifre.

Observaţii:
 Prin secvenţă de numere într-un şir de numere, înţelegem unul sau mai multe
numere aflate unul imediat după altul în şir.
 Prin număr palindrom înţelegem un număr care, citit de la stânga la dreapta sau
de la dreapta la stânga, ne dă acelaşi număr.
 Toate testele folosite la evaluare conţin cel puţin un număr mare.

Exemplu:
mare.in mare.out Explicaţie
9 401104 Secvenţele de numere care ne dau numere mari
80 1 23 2 1 401 10 4 900 palindroame sunt:
1
1, 23, 2, 1
2
4
şi
401, 10, 4
Acestea ne dau numerele mari 1, 12321, 2,
4 şi 401104. Dintre acestea, cel mai mare
este ultimul.

Timp de rulare/test: 1 secundă

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