31 0 3MB
PROBLEME
DE
INFORMATIC
date la olimpiade în
2019 2018 2017 2016 2015 2014 2013 2012 2011 2010
la clasa a 6-a
... draft (ciorn ) ...
Dr. Adrian R bâea
3 aprilie 2020
Prefaµ Stilul acestor c rµi este ... ca ³i cum a³ vorbi cu nepoµii mei (³i chiar cu mine însumi!) ... încercând împreun s g sim o rezolvare cât mai bun pentru o problem dat la olimpiad . Ideea, de a scrie aceste culegeri de probleme date la olimpiadele de informatic , a ap rut acum câµiva ani când am întrebat un student (care nu reu³ea s rezolve ni³te probleme foarte simple): Ce te faci dac un elev, care ³tie c e³ti student ³i c studiezi ³i informatic , te roag , din când în când, s -l ajuµi s rezolve câte o problem de informatic dat la gimnaziu la olimpiad , sau pur ³i simplu ca tem de cas , ³i tu, aproape de ecare dat , nu îl poµi ajuta? Eu cred c nu este prea bine ³i poate c ... te faci ... de râs! Pe vremea mea (!), când eram elev de gimnaziu, un student era ca un fel de ... zeu! Cu trecerea anilor am înµeles c nu este chiar a³a! i înc ceva: nu am reu³it s înµeleg de ce, atunci când cineva nu poate s rezolve corect o problem de informatic de clasa a 6-a, dat la olimpiada de informatic sau ca tem de cas , folose³te aceast scuz : eu nu am f cut informatic în liceu! ³i acest cineva este zeul sau zeiµa despre care vorbeam!. Îmi doresc s prezint elemente simple ³i desene bune care s ajute la descoperirea unei rezolv ri optime sau care s obµin cât mai multe puncte la olimpiad . Sunt convins c este util s studiem cu atenµie cât mai multe probleme rezolvate! Din aceast cauz cred c sunt utile ³i primele versiuni în care sunt prezentate chiar ³i numai enunµurile ³i indicaµiile "ociale" de rezolvare. Acestea se g sesc în multe locuri; aici încerc s le pun pe toate la un loc ! Limbajul de programare se alege în funcµie de problema pe care o avem de rezolvat. Cu ni³te ani în urm alegerea era mai simpl : dac era o problem de calcul se alegea Fortran iar dac era o problem de prelucrarea masiv a datelor atunci se alegea Cobol. Acum alegerea este ceva mai dicil ! :-) Vezi, de exemplu, IOI20191 ³i IOI20152 . Cred c , de cele mai multe ori, este foarte greu s gândim "simplu" ³i s nu "ne complic m" atunci când caut m o rezolvare pentru o problem dat la olimpiad . Acesta este motivul pentru care vom analiza cu foarte mare atenµie atât exemplele date în enunµurile problemelor cât ³i "restricµiile" care apar acolo (ele sigur "ascund" ceva interesant din punct de vedere al algoritmului de rezolvare!). Am început câteva c rµi (pentru clasele de liceu) cu mai mulµi ani în urm , pentru perioada 2000-2007 ([28] - [32]), cu anii în ordine cresc toare!). A urmat o pauz de câµiva ani (destul de mulµi!). Am observat c acele cursuri s-au împr ³tiat un pic pe net ([44] - [49])! Încerc acum s ajung acolo unde am r mas ... plecând mereu din prezent ... pân când nu va mai posibil ... a³a c , de aceast dat , anii sunt în ordine ... descresc toare! :-) Acum voi continua ... cu Enunµuri , Indicaµii de rezolvare ³i Coduri surs ale problemelor date la olimpiadele judeµene ³i naµionale. Pentru liceu perioada acoperit este de azi (pân când va exista acest azi pentru mine!) pân în anul 2000 (aveam deja perioada 2000-2007!). Pentru gimnaziu perioada acoperit este de azi pân în anul 2010 (nu am prea mult timp disponibil ³i, oricum, calculatoarele folosite la olimpiade înainte de 2010 erau ceva mai 'slabe' ³i ... restricµiile de memorie, din enunµurile problemelor, par 'ciudate' acum!). Mai departe, va urma Rezolv ri detaliate ... pentru unele probleme numai (tot din cauza lipsei timpului necesar pentru toate!). Prioritate vor avea problemele de gimnaziu (nu pentru c sunt mai 'u³oare' ci pentru c ... elevii de liceu se descurc ³i singuri!). Totu³i, vor prezentate ³i Rezolv ri detaliate ale problemelor de liceu (pe care le-am considerat în mod subiectiv!) interesante ³i utile. Vom încerca ³i câteva probleme de ... IOI ... dar asta este o treab ... nu prea u³oar ! Cred totu³i c este mai bine s prezint numai enunµuri ale problemelor date la IOI în ultimii câµiva ani! (asta a³a, ca s vedem cum sunt problemele la acest nivel!). Cei care ajung acolo sau vor s ajung 1 IOI2019 a permis utilizarea limbajelor de programare C++ ³i Java (https://ioi2019.az/en-content-14.
html#CompetitionEquipment)
2 IOI2015 a permis utilizarea limbajelor de programare C++, Java, Pascal, Python ³i Rubi (http://ioi2015.
kz/content/view/1/265)
acolo (la IOI) nu au nevoie de ajutorul meu! Se descurc singuri! La Indicaµii de rezolvare voi prezenta numai ... numele algoritmilor clasici folosiµi în rezolvare. ALGORITMI utili la olimpiadele de informatic ,
separat pentru gimnaziu ³i liceu, sper s
e de folos! i un ultim gând: ce am strâns ³i am scris în aceste c rµi se adreseaz celor interesaµi de aceste teme! Nu cârcota³ilor! Sunt evidente sursele de pe net (³i locurile în care au fost folosite). Nu sunt necesare preciz ri suplimentare! Adrese utile:
https://stats.ioinformatics.org/halloffame/ https://stats.ioinformatics.org/tasks/ http://stats.ioinformatics.org/results/ROU http://www.cplusplus.com/ http://www.info1cup.com/ https://www.infoarena.ro/ https://www.infogim.ro/ http://www.olimpiada.info/ https://www.pbinfo.ro/ http://www.usaco.org/ http://algopedia.ro/ http://campion.edu.ro/ https://codeforces.com/ https://cpbook.net/ https://csacademy.com/ https://gazeta.info.ro/revigoram-ginfo/ https://oj.uz/problems/source/22 https://profs.info.uaic.ro/~infogim/2019/index.html http://varena.ro/ https://wandbox.org/ https://en.cppreference.com/w/cpp/language/operator_alternative
Despre ...
Universitatea Tehnic din Cluj-Napoca, Centrul Universitar Nord din Baia-Mare, Facultatea de tiinµe, Departamentul de Matematic -Informatic (2018-2009) Universitatea "Ovidius" din Constanµa Facultatea de Matematic ³i Informatic , Departamentul de Informatic (2009-1992) Centrul de Informatic ³i organizare CINOR, Bucure³ti, (1992-1979) Facultatea de matematic ³i informatic , Bucure³ti (1979-1974) Despre ...
http://adrianrabaea.scienceontheweb.net/ https://www.scribd.com/user/243528817/Adrian-Rabaea https://scholar.google.com/citations?user=-sSE_1wAAAAJ&hl=en https://www.scopus.com/authid/detail.uri?origin=resultslist&authorId= 56122389200&zone= http://www.facebook.com/adrian.rabaea
Cuprins Lista gurilor
ix
Lista tabelelor
xi
Lista programelor
I 1
OJI - Olimpiada judeµean de informatic
1.2
2.2
2
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
numere - OJI 2018 . . . . . 2.1.1 Indicaµii de rezolvare 2.1.2 *Rezolvare detaliat 2.1.3 Cod surs . . . . . . turnuri - OJI 2018 . . . . . 2.2.1 Indicaµii de rezolvare 2.2.2 *Rezolvare detaliat 2.2.3 Cod surs . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
3.2
accesibil - OJI 2017 . . . . . 3.1.1 Indicaµii de rezolvare 3.1.2 *Rezolvare detaliat 3.1.3 Cod surs . . . . . . fermier - OJI 2017 . . . . . 3.2.1 Indicaµii de rezolvare 3.2.2 *Rezolvare detaliat 3.2.3 Cod surs . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
4.2
cifre - OJI 2016 . . . . . . . 4.1.1 Indicaµii de rezolvare 4.1.2 *Rezolvare detaliat 4.1.3 Cod surs . . . . . . litere - OJI 2016 . . . . . . 4.2.1 Indicaµii de rezolvare 4.2.2 *Rezolvare detaliat 4.2.3 Cod surs . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
24 25 25 25 29 30 31 31 44
OJI 2016
4.1
2 3 3 3 13 14 15 15 24
OJI 2017
3.1
4
album . . . . . . . . . . . . 1.1.1 Indicaµii de rezolvare 1.1.2 *Rezolvare detaliat 1.1.3 Cod surs . . . . . . maxim . . . . . . . . . . . . 1.2.1 Indicaµii de rezolvare 1.2.2 *Rezolvare detaliat 1.2.3 Cod surs . . . . . .
OJI 2018
2.1
3
1
OJI 2019
1.1
2
xii
44 45 45 45 55 57 57 57 66
iv
66 67 67 67 68 69 70 70
5
OJI 2015
5.1
5.2
6
6.2
7.2
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
imprimanta - OJI 2014 . . . 6.1.1 Indicaµii de rezolvare 6.1.2 *Rezolvare detaliat 6.1.3 Cod surs . . . . . . munte - OJI 2014 . . . . . . 6.2.1 Indicaµii de rezolvare 6.2.2 *Rezolvare detaliat 6.2.3 Cod surs . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
cladiri - OJI 2013 . . . . . . 7.1.1 Indicaµii de rezolvare 7.1.2 *Rezolvare detaliat 7.1.3 Cod surs . . . . . . galbeni - OJI 2013 . . . . . 7.2.1 Indicaµii de rezolvare 7.2.2 *Rezolvare detaliat 7.2.3 Cod surs . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
8.2
cifru - OJI 2012 . . . . . . . 8.1.1 Indicaµii de rezolvare 8.1.2 *Rezolvare detaliat 8.1.3 Cod surs . . . . . . ori - OJI 2012 . . . . . . . 8.2.1 Indicaµii de rezolvare 8.2.2 *Rezolvare detaliat 8.2.3 Cod surs . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
9.2
carte - OJI 2011 . . . . . . 9.1.1 Indicaµii de rezolvare 9.1.2 *Rezolvare detaliat 9.1.3 Cod surs . . . . . . grad - OJI 2011 . . . . . . . 9.2.1 Indicaµii de rezolvare 9.2.2 *Rezolvare detaliat 9.2.3 Cod surs . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
105 106 106 107 112 113 114 114 118
118 119 119 120 121 122 123 123 125
10 OJI 2010
10.1 loto - OJI 2010 . . . . . . . 10.1.1 Indicaµii de rezolvare 10.1.2 *Rezolvare detaliat 10.1.3 Cod surs . . . . . . 10.2 submit - OJI 2010 . . . . . 10.2.1 Indicaµii de rezolvare 10.2.2 *Rezolvare detaliat 10.2.3 Cod surs . . . . . .
87 88 89 89 95 96 96 96 105
OJI 2011
9.1
72 73 74 74 79 80 80 80 87
OJI 2012
8.1
9
. . . . . . . .
OJI 2013
7.1
8
72
. . . . . . . .
OJI 2014
6.1
7
covor - OJI 2015 . . . . . . 5.1.1 Indicaµii de rezolvare 5.1.2 *Rezolvare detaliat 5.1.3 Cod surs . . . . . . ordine - OJI 2015 . . . . . . 5.2.1 Indicaµii de rezolvare 5.2.2 *Rezolvare detaliat 5.2.3 Cod surs . . . . . .
125 126 126 126 128 129 130 130 138
138 139 139 139 140 141 141 141
II
ONI - Olimpiada naµional de informatic
142
11 ONI 2019
11.1 maya - ONI 2019 . . . . . . 11.1.1 Indicaµii de rezolvare 11.1.2 *Rezolvare detaliat 11.1.3 Cod surs . . . . . . 11.2 optime - ONI 2019 . . . . . 11.2.1 Indicaµii de rezolvare 11.2.2 *Rezolvare detaliat 11.2.3 Cod surs . . . . . . 11.3 roata - ONI 2019 . . . . . . 11.3.1 Indicaµii de rezolvare 11.3.2 *Rezolvare detaliat 11.3.3 Cod surs . . . . . .
143
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
12 ONI 2018
12.1 descmult - ONI 2018 . . . . 12.1.1 Indicaµii de rezolvare 12.1.2 *Rezolvare detaliat 12.1.3 Cod surs . . . . . . 12.2 gazon - ONI 2018 . . . . . . 12.2.1 Indicaµii de rezolvare 12.2.2 *Rezolvare detaliat 12.2.3 Cod surs . . . . . . 12.3 pietre - ONI 2018 . . . . . . 12.3.1 Indicaµii de rezolvare 12.3.2 *Rezolvare detaliat 12.3.3 *Cod surs . . . . .
159
13 ONI 2017
13.1 faleza - ONI 2017 . . . . . . 13.1.1 Indicaµii de rezolvare 13.1.2 *Rezolvare detaliat 13.1.3 Cod surs . . . . . . 13.2 peste - ONI 2017 . . . . . . 13.2.1 Indicaµii de rezolvare 13.2.2 *Rezolvare detaliat 13.2.3 Cod surs . . . . . . 13.3 soricel - ONI 2017 . . . . . 13.3.1 Indicaµii de rezolvare 13.3.2 *Rezolvare detaliat 13.3.3 Cod surs . . . . . .
159 160 160 160 163 164 165 165 167 168 168 168 169
14 ONI 2016
14.1 cod - ONI 2016 . . . . . . . 14.1.1 Indicaµii de rezolvare 14.1.2 *Rezolvare detaliat 14.1.3 Cod surs . . . . . . 14.2 perm - ONI 2016 . . . . . . 14.2.1 Indicaµii de rezolvare 14.2.2 *Rezolvare detaliat 14.2.3 Cod surs . . . . . . 14.3 robotel - ONI 2016 . . . . . 14.3.1 Indicaµii de rezolvare 14.3.2 *Rezolvare detaliat 14.3.3 Cod surs . . . . . .
143 144 144 145 148 149 150 150 154 156 156 156
169 170 170 170 179 180 180 180 197 199 199 199 210
210 211 211 212 213 214 215 215 216 218 218 218
15 ONI 2015
15.1 echer - ONI 2015 . . . . . . 15.1.1 Indicaµii de rezolvare 15.1.2 *Rezolvare detaliat 15.1.3 Cod surs . . . . . . 15.2 lightbot - ONI 2015 . . . . 15.2.1 Indicaµii de rezolvare 15.2.2 *Rezolvare detaliat 15.2.3 Cod surs . . . . . . 15.3 teren - ONI 2015 . . . . . . 15.3.1 Indicaµii de rezolvare 15.3.2 *Rezolvare detaliat 15.3.3 Cod surs . . . . . .
220
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
17.1 divizori - ONI 2013 . . . . . . 17.1.1 *Indicaµii de rezolvare 17.1.2 *Rezolvare detaliat . 17.1.3 *Cod surs . . . . . . 17.2 remi - ONI 2013 . . . . . . . 17.2.1 *Indicaµii de rezolvare 17.2.2 *Rezolvare detaliat . 17.2.3 *Cod surs . . . . . . 17.3 tetris - ONI 2013 . . . . . . . 17.3.1 *Indicaµii de rezolvare 17.3.2 *Rezolvare detaliat . 17.3.3 *Cod surs . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
16 ONI 2014
16.1 betisoare - ONI 2014 . . . . 16.1.1 Indicaµii de rezolvare 16.1.2 *Rezolvare detaliat 16.1.3 Cod surs . . . . . . 16.2 praslea - ONI 2014 . . . . . 16.2.1 Indicaµii de rezolvare 16.2.2 *Rezolvare detaliat 16.2.3 Cod surs . . . . . . 16.3 tinta - ONI 2014 . . . . . . 16.3.1 Indicaµii de rezolvare 16.3.2 *Rezolvare detaliat 16.3.3 Cod surs . . . . . .
243
17 ONI 2013
243 244 244 244 253 254 255 255 265 266 267 267 274
18 ONI 2012
18.1 cartier - ONI 2012 . . . . . 18.1.1 Indicaµii de rezolvare 18.1.2 *Rezolvare detaliat 18.1.3 Cod surs . . . . . . 18.2 medalion - ONI 2012 . . . . 18.2.1 Indicaµii de rezolvare 18.2.2 *Rezolvare detaliat 18.2.3 Cod surs . . . . . . 18.3 numar - ONI 2012 . . . . . 18.3.1 Indicaµii de rezolvare 18.3.2 *Rezolvare detaliat 18.3.3 Cod surs . . . . . .
220 221 222 222 228 229 230 230 236 237 238 238
274 275 275 275 275 276 276 276 276 277 277 277 278
. . . . . . . . . . . .
278 279 279 279 280 281 282 282 283 285 285 285
19 ONI 2011
19.1 joc - ONI 2011 . . . . . . . 19.1.1 Indicaµii de rezolvare 19.1.2 *Rezolvare detaliat 19.1.3 Cod surs . . . . . . 19.2 talent - ONI 2011 . . . . . . 19.2.1 Indicaµii de rezolvare 19.2.2 *Rezolvare detaliat 19.2.3 Cod surs . . . . . . 19.3 xy - ONI 2011 . . . . . . . . 19.3.1 Indicaµii de rezolvare 19.3.2 *Rezolvare detaliat 19.3.3 Cod surs . . . . . .
288
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
20 ONI 2010
20.1 control - ONI 2010 . . . . . 20.1.1 Indicaµii de rezolvare 20.1.2 *Rezolvare detaliat 20.1.3 Cod surs . . . . . . 20.2 gura - ONI 2010 . . . . . . 20.2.1 Indicaµii de rezolvare 20.2.2 *Rezolvare detaliat 20.2.3 Cod surs . . . . . . 20.3 joc - ONI 2010 . . . . . . . 20.3.1 Indicaµii de rezolvare 20.3.2 *Rezolvare detaliat 20.3.3 Cod surs . . . . . .
288 289 290 290 292 293 294 294 295 297 297 297 302
302 303 303 303 304 304 305 305 305 306 307 307
Index
310
Bibliograe
311
Lista gurilor 2.1 2.2
Turnuri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Turnuri - exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
29 30
3.1
fermier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
55
4.1
Litere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
68
5.1 5.2 5.3 5.4
Covor1 Covor2 Ordine Covor1
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
72 72 79 80
6.1 6.2 6.3 6.4
Imprimanta1 . Imprimanta2 . ImprimantaIR2 ImprimantaIR2
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
87 87 88 89
7.1
Imprimanta2
11.1 11.2 11.3 11.4 11.5
Maya . . . MayaIR . Optime . RoataIR1 RoataIR2
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
143 144 148 155 155
12.1 12.2 12.3 12.4 12.5
descmult gazon1 . gazon2 . piatra1 . piatra2 .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
160 163 164 168 168
. . . .
. . . .
. . . . .
. . . .
. . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
13.1 peste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 13.2 soricel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 14.1 robotel1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 14.2 robotel2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 15.1 15.2 15.3 15.4 15.5 15.6
echer . . echer . . echer . . lightbot teren . . teren . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
220 220 221 228 237 237
16.1 16.2 16.3 16.4 16.5
betisoare praslea . praslea . tinta . . tinta . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
243 253 253 265 266
17.1 remi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
ix
17.2 tetris . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276 18.1 cartier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278 18.2 medalion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280 19.1 joc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 19.2 xy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 19.3 xy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
Lista tabelelor
xi
Lista programelor 1.1.1 album_Flavius.cpp . . . . . . . 1.1.2 album_Roxana.cpp . . . . . . . 1.1.3 album_VG.cpp . . . . . . . . . 1.1.4 album2_VG.cpp . . . . . . . . 1.1.5 albumAdyN.cpp . . . . . . . . 1.1.6 albumPLV.cpp . . . . . . . . . 1.2.1 maximFB.cpp . . . . . . . . . . 1.2.2 maximFBB.cpp . . . . . . . . . 1.2.3 maximPLV.cpp . . . . . . . . . 1.2.4 maximPLV01cerinta1sort.cpp . 1.2.5 maximPLV02sort.cpp . . . . . 1.2.6 maximPR.cpp . . . . . . . . . . 1.2.7 maximR1.cpp . . . . . . . . . . 1.2.8 maximR2.cpp . . . . . . . . . . 2.1.1 numere_cpp.cpp . . . . . . . . 2.1.2 numere1.cpp . . . . . . . . . . . 2.1.3 numere2.cpp . . . . . . . . . . . 2.1.4 numere3.cpp . . . . . . . . . . . 2.2.1 turnuri.cpp . . . . . . . . . . . 2.2.2 turnuri1.cpp . . . . . . . . . . . 2.2.3 turnuri2.cpp . . . . . . . . . . . 2.2.4 turnuri3.cpp . . . . . . . . . . . 2.2.5 turnuri4.cpp . . . . . . . . . . . 2.2.6 turnuri5.cpp . . . . . . . . . . . 2.2.7 turnuri6.cpp . . . . . . . . . . . 2.2.8 turnuri7.cpp . . . . . . . . . . . 2.2.9 turnuri8.cpp . . . . . . . . . . . 3.1.1 accesibil1.cpp . . . . . . . . . . 3.1.2 accesibil2.cpp . . . . . . . . . . 3.1.3 accesibil3.cpp . . . . . . . . . . 3.1.4 accesibil4.cpp . . . . . . . . . . 3.1.5 accesibil5.cpp . . . . . . . . . . 3.2.1 fermier1.cpp . . . . . . . . . . . 3.2.2 fermier2.cpp . . . . . . . . . . . 3.2.3 fermier3.cpp . . . . . . . . . . . 3.2.4 fermier4.cpp . . . . . . . . . . . 3.2.5 fermier5.cpp . . . . . . . . . . . 4.1.1 cifre.cpp . . . . . . . . . . . . . 4.2.1 litere.cpp . . . . . . . . . . . . 5.1.1 CPP_SursaOcialaCovor.cpp . 5.1.2 covor_CarmenMinca.cpp . . . 5.1.3 covor_CristinaIordaiche.cpp . . 5.1.4 covor_CristinaSichim.cpp . . . 5.1.5 covor_FloreUngureanu.cpp . . 5.1.6 covor_LilianaChira.cpp . . . . 5.1.7 covor_RoxanaTamplaru.cpp . . 5.2.1 CPP_SursaOcialaOrdine.cpp 5.2.2 ordine_CarmenMinca.cpp . . . 5.2.3 ordine_CristinaIordaiche.cpp .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
xii
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 5 7 8 9 11 15 16 17 19 19 21 21 22 25 26 27 28 31 32 34 35 36 38 40 41 42 46 47 48 50 53 57 60 61 62 63 67 70 74 74 75 76 77 77 78 80 81 82
5.2.4 ordine_CristinaSichim.cpp . . . 5.2.5 ordine_FloreUngureanu.cpp . . . 5.2.6 ordine_GinaBalacea.cpp . . . . . 5.2.7 ordine_LilianaChira.cpp . . . . . 5.2.8 ordine_MarinelSerban.cpp . . . . 5.2.9 ordine_RoxanaTamplaru.cpp . . 6.1.1 imprimanta_cristina_0.cpp . . . 6.1.2 imprimanta_cristina_1.cpp . . . 6.1.3 imprimanta_lili.cpp . . . . . . . 6.1.4 imprimanta_marinel.cpp . . . . . 6.1.5 imprimanta_mot.cpp . . . . . . . 6.1.6 imprimanta_ovidiu.cpp . . . . . 6.2.1 munte_csifo.cpp . . . . . . . . . 6.2.2 munte_lili0.cpp . . . . . . . . . . 6.2.3 munte_lili1.cpp . . . . . . . . . . 6.2.4 munte_marinel_1.cpp . . . . . . 6.2.5 munte_marinel_2.cpp . . . . . . 6.2.6 munte_ovidiu_1.cpp . . . . . . . 6.2.7 munte_ovidiu_2.cpp . . . . . . . 6.2.8 munte_roxana1.cpp . . . . . . . 6.2.9 munte_roxana2.cpp . . . . . . . 7.1.1 cladiri_S9cif.cpp . . . . . . . . . 7.1.2 cladiridl.cpp . . . . . . . . . . . . 7.1.3 cladiriMN.cpp . . . . . . . . . . . 7.1.4 cladiristream.cpp . . . . . . . . . 7.1.5 Cristina_cladiri.cpp . . . . . . . 7.1.6 Ovidiu_cladiri_cu_vector.cpp . 7.1.7 Ovidiu_cladiri_fara_vector.cpp 7.2.1 galbeni.cpp . . . . . . . . . . . . 7.2.2 galbeni_dt.cpp . . . . . . . . . . 7.2.3 galbeniBrut.cpp . . . . . . . . . . 7.2.4 galbenidl.cpp . . . . . . . . . . . 8.1.1 ori.cpp . . . . . . . . . . . . . . 8.1.2 ori_dana.cpp . . . . . . . . . . 8.2.1 sol-cifru.cpp . . . . . . . . . . . . 9.1.1 CARTE_CI.CPP . . . . . . . . . 9.1.2 CARTE_CS.cpp . . . . . . . . . 9.1.3 CARTE_LU.cpp . . . . . . . . . 9.1.4 CARTE_OM.CPP . . . . . . . . 9.2.1 GRAD.CPP . . . . . . . . . . . . 9.2.2 GRAD_CR.CPP . . . . . . . . . 9.2.3 GRAD_IC.CPP . . . . . . . . . 9.2.4 GRAD_OM.CPP . . . . . . . . . 9.2.5 GRADFSLAB.CPP . . . . . . . 9.2.6 GRADSLAB.CPP . . . . . . . . 10.1.1 6_pr1_s.pas . . . . . . . . . . 10.2.1 6_pr2_s.pas . . . . . . . . . . 11.1.1 maya100Adi.cpp . . . . . . . . 11.1.2 maya100PLV.cpp . . . . . . . . 11.2.1 optimeFBB.cpp . . . . . . . . . 11.2.2 optimePLV.cpp . . . . . . . . . 11.2.3 optimeVMG.cpp . . . . . . . . 11.3.1 roata100FB.cpp . . . . . . . . 11.3.2 roata100PLV.cpp . . . . . . . . 11.3.3 roata100RP.cpp . . . . . . . . . 12.1.1 descmult.cpp . . . . . . . . . . 12.1.2 descmult_algopedia.cpp . . . . 12.2.1 gazon_algopedia.cpp . . . . . . 13.1.1 faleza_CristinaI.cpp . . . . . . 13.1.2 faleza_Flavius.cpp . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
82 83 83 84 85 85 89 90 91 92 93 94 96 98 98 99 100 101 102 102 103 107 108 108 109 110 111 111 114 114 115 116 120 120 123 126 127 127 128 130 131 132 133 134 136 139 141 145 146 150 151 153 156 156 157 160 162 166 170 171
13.1.3 falezaFB.cpp . . . . . . . . . . . . . . 13.1.4 falezaMA.cpp . . . . . . . . . . . . . . 13.1.5 falezaMN.cpp . . . . . . . . . . . . . . 13.1.6 RTfaleza_nou.cpp . . . . . . . . . . . 13.2.1 Marinel_peste_string.cpp . . . . . . . 13.2.2 Marius_peste.cpp . . . . . . . . . . . 13.2.3 peste.cpp . . . . . . . . . . . . . . . . 13.2.4 peste_Flavius.cpp . . . . . . . . . . . 13.2.5 peste_int.cpp . . . . . . . . . . . . . . 13.2.6 peste_Miana_100.cpp . . . . . . . . . 13.2.7 peste_MS.cpp . . . . . . . . . . . . . 13.2.8 peste_MS_ok2.cpp . . . . . . . . . . 13.2.9 pesteMN.cpp . . . . . . . . . . . . . . 13.2.10 RTpeste100.cpp . . . . . . . . . . . 13.3.1 RTsoricel100.cpp . . . . . . . . . . . . 13.3.2 soricel_avius.cpp . . . . . . . . . . . 13.3.3 soricel_Miana.cpp . . . . . . . . . . . 13.3.4 soricelFB2.cpp . . . . . . . . . . . . . 13.3.5 soricelMN.cpp . . . . . . . . . . . . . 14.1.1 cod_cpp.cpp . . . . . . . . . . . . . . 14.2.1 perm_cpp.cpp . . . . . . . . . . . . . 14.3.1 robotel_cpp.cpp . . . . . . . . . . . . 15.1.1 echer.cpp . . . . . . . . . . . . . . . . 15.1.2 echerCarmenMinca.cpp . . . . . . . . 15.1.3 echerCristinaSichim.cpp . . . . . . . . 15.1.4 echerFlorentinaUngureanu.cpp . . . . 15.1.5 echerGinaBalacea.cpp . . . . . . . . . 15.1.6 echerRoxanaTimplaru.cpp . . . . . . . 15.2.1 lightbot.cpp . . . . . . . . . . . . . . . 15.2.2 lightbotCarmenMinca.cpp . . . . . . . 15.2.3 lightbotCristinaSichim.cpp . . . . . . 15.2.4 lightbotFlorentinaUngureanu.cpp . . . 15.2.5 lightbotLiliChira.cpp . . . . . . . . . . 15.2.6 lightbotRoxanaTimplaru.cpp . . . . . 15.3.1 terenCarmenMinca.cpp . . . . . . . . 15.3.2 terenCristinaSichim.cpp . . . . . . . . 15.3.3 terenGinaBalacea.cpp . . . . . . . . . 15.3.4 terenMarinelSerban.cpp . . . . . . . . 15.3.5 terenRoxanaTimplaru.cpp . . . . . . . 16.1.1 betisoare_OK.cpp . . . . . . . . . . . 16.1.2 betisoare_CristinaI.cpp . . . . . . . . 16.1.3 betisoare_nistor.cpp . . . . . . . . . . 16.1.4 betisoare_ovidiu_1.cpp . . . . . . . . 16.1.5 betisoare_ovidiu_2.cpp . . . . . . . . 16.1.6 betisoare_ovidiu_3.cpp . . . . . . . . 16.1.7 betisoare_r.cpp . . . . . . . . . . . . . 16.1.8 betisoare_sanda.cpp . . . . . . . . . . 16.1.9 betisoare_strtok.cpp . . . . . . . . . . 16.1.10 sursa1_Lili.cpp . . . . . . . . . . . . 16.1.11 sursa2_Lili.cpp . . . . . . . . . . . . 16.1.12 sursa3_Lili.cpp . . . . . . . . . . . . 16.2.1 praslea.cpp . . . . . . . . . . . . . . . 16.2.2 praslea_Cristina_quicksort.cpp . . . . 16.2.3 praslea_Cristina_sortare_simpla.cpp 16.2.4 praslea_Lili.cpp . . . . . . . . . . . . 16.2.5 praslea_marinel.cpp . . . . . . . . . . 16.2.6 praslea_mot.cpp . . . . . . . . . . . . 16.2.7 praslea_ovidiu.cpp . . . . . . . . . . . 16.2.8 praslea_roxana.cpp . . . . . . . . . . 16.2.9 praslea_roxana1.cpp . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
173 175 176 177 180 181 183 185 187 189 191 192 193 195 199 201 203 205 207 212 215 218 222 223 224 225 226 227 230 230 232 233 233 234 238 239 240 240 241 244 245 246 247 247 248 248 249 250 251 252 252 255 256 257 258 259 260 261 262 263
16.2.10 praslea_sanda.cpp . . . 16.3.1 tinta.cpp . . . . . . . . 16.3.2 tinta_marinel_4M.cpp 16.3.3 tinta_marinel_8M.cpp 16.3.4 tinta_roxana.cpp . . . . 18.1.1 cartier.cpp . . . . . . . 18.2.1 medalion.cpp . . . . . . 18.3.1 numar.cpp . . . . . . . 19.1.1 joc100_cm.CPP . . . . 19.1.2 joc100p_cs.cpp . . . . . 19.1.3 JOC100p_om.CPP . . 19.2.1 t_cs.cpp . . . . . . . . . 19.3.1 XY.CPP . . . . . . . . 19.3.2 XY_1.CPP . . . . . . . 19.3.3 XY_2.CPP . . . . . . . 20.1.1 control.cpp . . . . . . . 20.2.1 FIGURA.CPP . . . . . 20.3.1 JOC_EM.CPP . . . . . 20.3.2 joc_liliana.cpp . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
264 267 268 270 272 279 282 285 290 291 291 294 297 298 299 303 305 307 308
Partea I
OJI - Olimpiada judeµean de informatic
1
Capitolul 1
OJI 2019 1.1 album Problema 1 - album
90 de puncte
Victor si Radu sunt fraµi. Mama le-a adus n stickere cu fotbali³ti, ecare sticker având imprimat pe spate un cod, un num r cuprins între 10 ³i 999999. Fraµii, dorind cât mai multe stickere pe care s le lipeasc în albumul propriu, au început s se certe. Mama le propune urm torul mod de împ rµire a stickerelor: ea aranjeaz cele n stickere în linie, cu faµa în jos, ³i ecare frate, pe rând, va lua primul sticker disponibil, precum ³i toate stickerele care conµin dou cifre care sunt egale cu cele mai mari dou cifre, nu neap rat distincte, dintre cele scrise pe primul sticker luat la aceast etap . Stickerele sunt disponibile începând de la stânga spre dreapta. Fiind cel mai mic, Victor va primul, apoi copiii iau stickere alternativ, pân când nu mai sunt stickere. La nal, ecare copil num r câte stickere are în total. Cerinµe
Cunoscând num rul n de stickere aduse de mama ³i numerele de pe ele în ordinea în care sunt a³ezate pe mas , s se determine: 1. Cele mai mari dou cifre, nu neap rat distincte, de pe ultimul sticker aat pe mas înainte de începerea concursului; 2. Fratele care câ³tig concursul ³i câte stickere are. Date de intrare
Fi³ierul de intrare album.in conµine pe prima linie o cifr c care poate s e doar 1 sau 2. Pe a doua linie se g se³te n reprezentând num rul de stickere. Pe a treia linie se a n numere naturale separate prin câte un spaµiu, reprezentând numerele de pe stickere. Date de ie³ire
Dac valoarea lui c este 1, atunci se va rezolva numai punctul 1 din cerinµ . În acest caz, ³ierul de ie³ire album.out va conµine pe prima linie, în ordine cresc toare, cifrele cerute. Dac valoarea lui c este 2, se va rezolva numai punctul 2 din cerinµ . În acest caz, ³ierul de ie³ire album.out va conµine pe prima linie litera V dac Victor are mai multe stickere, litera R dac Radu are mai multe stickere, sau literele V ³i R separate prin exact un spaµiu dac amândoi au acela³i num r de stickere. Pe a doua linie se va scrie num rul de stickere ale celui care are cele mai multe sau num rul de stickere deµinut de ecare, în cazul în care au acela³i num r de stickere. Restricµii ³i preciz ri
• • • •
n este num r natural, 3 ≤ n ≤ 800000. Pentru rezolvarea cerinµei 1 se obµin 40 de puncte, iar pentru cerinµa 2, 50 de puncte. Pentru cerinµa 2, se garanteaz c , pentru 50% dintre teste, n ≤ 100. Numerele de pe stickere sunt numere naturale cuprinse între 10 ³i 999999.
Exemple
2
CAPITOLUL 1.
3
OJI 2019
album.in
album.out
Explicaµii
1 7 291 11 992 456 71 13 121 2 7 234 122 334 199 463 221 231
12
Cerinµa este 1. Pe ultimul sticker de pe mas este scris num rul 121, care are cele mai mari dou cifre 1 ³i 2. Cerinµa este 2. Victor începe concursul ³i ia stickerele 234 (cu 3 ³i 4 cele mai mari dou cifre), 334 ³i 463. Pa mas r mân stickerele 122 199 221 231. Continu Radu, care ia stickerele cu numerele 122 (cu cele mai mari dou cifre 2 ³i 2) ³i 221. R mân stickerele 199 ³i 231. Victor mai ia stickerul cu num rul 199, apoi Radu ia stickerul cu num rul 231. Victor câ³tig cu 4 stickere, Radu având doar trei.
V 4
Timp maxim de executare/test: 0.5 secunde Memorie: total 16 MB din care pentru stiv 8 MB Dimensiune maxim a sursei: 10 KB Sursa: album.cpp, album.c sau album.pas va salvat în folderul care are drept nume
ID-ul t u.
1.1.1
Indicaµii de rezolvare
Dificultate 3 Prof. Violeta Grecea Colegiul National de Informatica ’Matei Basarab’ Ramnicu Valcea Pentru rezolvarea primei cerinte, se parcurg numerele din sir prin citire. Se foloseste o variabila simpla x pentru citirea tuturor numerelor din sir. Pentru ultima valoare a lui x se calculeaza cele mai mari doua cifre. Pentru rezolvarea celei de-a doua cerinte, se foloseste un vector caracteristic pentru numerele cu doua cifre, in care se va retine, la a cata parcurgere a sirului de numere se va alege elementul ce contine acele doua cifre. Parcurgerile cu numar impar apartin lui Victor, iar cele cu numar par lui Radu. Pentru un numar x, din sir, se verifica in vectorul caracteristic daca exista doua cifre ale sale care sa fie anterior alese. In aceasta situatie se va calcula la a cata parcurgere a fost facut acest lucru, pentru a stabili cui apartine stickerul. Structurile de date utilizate: vectori.
1.1.2
*Rezolvare detaliat
1.1.3
Cod surs Listing 1.1.1: album_Flavius.cpp
1 2 3 4 5 6 7 8
#include #include #include using namespace std;
// sort, reverse
ifstream f("album.in"); ofstream g("album.out");
CAPITOLUL 1.
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
OJI 2019
int C,i,j,k,n,v[11],ap[101],u,maxim1,a,numar,maxim2,x,vi, ra,t,p,ok,y,nr,minim,poz; int main() { f>>C; if(C==1) { f>>n; for(i=1; i>x; maxim1=0; maxim2=0; while(x) { u=x%10; if(u>=maxim1) { maxim2=maxim1; maxim1=u; } if(u>maxim2 and u