Documente Academic
Documente Profesional
Documente Cultură
Concurs
II. Articole. „Lider
Studii de cazEuropean” 4
http://www.europacasanoastra.ro/articol/ca%C8%99tigatorii-vizitelor-la-bruxelles-la-comisia-
Combinatorica în informatică. Aranjamente geometrice 4
europeana-din-cadrul-concursului-de-proiecte-lider-european/4457
O ameliorare a timpului de execuție pentru algoritmului de 8
sortare MergeSort 2015-2016
Algoritmul Al Kashi. Calcularea lui nk în timp logaritmic 10
Baze de numerație. Aplicații pe biți 12
III. Probleme de concurs 13
IV. Ocolul pamântului în ... Informatică - marca CNTV 16
V. Programatorul cel viteaz ... 100 dintr-o lovitură! 19
Soluții de 100 de puncte la probleme de concurs 19
Rezultate la olimpiade și concursuri naționale 2014-2015 29
VI. Gânduri, pasiuni, experiențe... 31
Despre cum am scris Software cu … Litere 31
C.N.T.V. la competiția studențească de robotică de la 32
Craiova
Calculatorul în activitățile de zi cu zi ale serviciului de 34
secretariat
VII. Mici programatori ... viitori (posibil!) mari programatori 35
VIII. Informatică dar ... nu numai! 40
Top 10 StartUp-uri ce trebuie urmărite în 2015 40
Site-uri utile 43
Certificări C.N.T.V. în domeniul Informaticii 44
Proiecte 2014- 2015 / 2015-2016 45
1
44
1
2014-2015
”InfoCNTV”
Hour of Code
http://www.gorjeanul.ro/pulsul-zilei/hour-of-code-si-la-c-n-t-v#.Ve_cCqDtkoI
Anul acesta - anul în care împlinește 125 de ani de existență, Colegiul Național ”Tudor Vladimirescu”,
http://www.gorjeanul.ro/pulsul-zilei/feedback-hour-of-code-la-c-n-t-v#.Ve_cgaDtkoI
locul unde tradiția se întâlnește cu educația de performanță, continuă şi „povestea” revistei de informatică
cu un numărThe Magic
aniversar. Behind
O fericită Google
„coincidenţa” (iar coincidenţă în acest caz nu poate înseamna decât elevi
http://www.gorjeanul.ro/pulsul-zilei/de-la-c-n-t-v-la-visul-american-si-inapoi#.VexMO7udIx0
extraordinari, profesori dedicaţi, consecvenţă în pregătire şi seriozitatea actului didactic) face ca acest an cu
http://gorjexclusiv.ro/informatician-gorjean-ambasador-google-la-el-acasa/
frumoasă semnificaţie pentru C.N.T.V. să fie de excepţie la nivelul premiilor şi medaliilor obţinute la
http://www.gorj-domino.ro/tanarul-bogdan-drutu-angajat-la-google-s-a-intors-in-targu-jiu/
olimpiadele naţionale şi internaţionale la toate disciplinele.
Să fiiConcurs „Lider European”
profesor de informatică la un colegiu cu performanțe remarcabile – 5 medalii la la Olimpiada
http://www.europacasanoastra.ro/articol/ca%C8%99tigatorii-vizitelor-la-bruxelles-la-comisia-
Națională de Informatică 2014/2015: MĂRGELOIU ANDREI premiul II- medalie aur, COMĂNECI ANDREI -
europeana-din-cadrul-concursului-de-proiecte-lider-european/4457
medalie argint, CERNĂIANU MIHAI - medalie argint, ȘTIUCĂ ROXANA - medalie bronz, SĂVOIU
VALENTIN medalie bronz, 4 medalii la Olimpiada Națională de Informatică 2013/1014 : CERNĂIANU
2015-2016
MIHAI IONUȚ, POPESCU GEORGE AURELIAN, STOCHIȚOIU RADU DUMITRU – liceu și DABELEA IOANA
VIVIANA – gimnaziu), într-o țară al cărei lot național confirmă valoarea școlii românești de informatică: IOI
2015 –1 aur, 2 argint,1 bronz, locul I pe națiuni – Balcaniada de Informatică Juniori Belgrad Serbia 2014 –
prof. Piț-Rada Ionel Vasile și prof. Nodea Eugen; 4 medalii IOI Taipei Taiwan 2014, 4 medalii CEOI Jena
Germania 2014 etc. și care formează specialiști de excepție în acest domeniu e o adevărată onoare. Iar
îndrumarea tinerilor către „informatică” - știința cu cea mai dinamică evoluție, fără de care nu se concepe
societatea tehnologizată/informatizată de azi , pare a fi mai degrabă o profesiune de credinţă.
Prof. Gabriela Nodea
2
44
2
2014-2015
De la C.N.T.V. la “Visul American” și înapoi
Hour of Code
The Magic Behind Google
http://www.gorjeanul.ro/pulsul-zilei/hour-of-code-si-la-c-n-t-v#.Ve_cCqDtkoI
http://www.gorjeanul.ro/pulsul-zilei/feedback-hour-of-code-la-c-n-t-v#.Ve_cgaDtkoI
3
44
3
II. Articole. Studiu de caz
2014-2015
Combinatorica
Hour of Code în informatică. Aranjamente geometrice
http://www.gorjeanul.ro/pulsul-zilei/hour-of-code-si-la-c-n-t-v#.Ve_cCqDtkoI Prof. Eugen Nodea
http://www.gorjeanul.ro/pulsul-zilei/feedback-hour-of-code-la-c-n-t-v#.Ve_cgaDtkoI
Triunghiul lui Pascal
The Magic Behind Google
Triunghiul lui Pascal este un aranjament geometric al coeficienților binomiali, numit astfel în
http://www.gorjeanul.ro/pulsul-zilei/de-la-c-n-t-v-la-visul-american-si-inapoi#.VexMO7udIx0
onoarea matematicianului francez Blaise Pascal.
http://gorjexclusiv.ro/informatician-gorjean-ambasador-google-la-el-acasa/
http://www.gorj-domino.ro/tanarul-bogdan-drutu-angajat-la-google-s-a-intors-in-targu-jiu/
2015-2016
1 1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
Orice număr din interiorul triunghiului lui Pascal este situat pe un anumit rând orizontal, sau pe o
anumită “bază”. Un număr oarecare de pe baza (n) se calculează “mergând înapoi” folosind relația de
recurență:
Există şi alte moduri de a aborda numerele din triunghiul lui Pascal, numere ce joacă un rol important în
foarte multe probleme interesante şi se bucură de foarte multe proprietăţi interesante.
“Acest tabel de numere are proprietăţi eminente şi admirabile” spunea Jaques Bernoulli, “în el stă esenţa
combinatoricii, iar cei familiarizaţi cu geometria ştiu că în el sunt ascunse secrete capitale din toată
matematica”.
2. Suma elementelor unui rând este egală cu dublu sumei rândului precedent și reprezintă puteri ale lui
2.
4
44
2014-2015
Hour of Code
http://www.gorjeanul.ro/pulsul-zilei/hour-of-code-si-la-c-n-t-v#.Ve_cCqDtkoI
http://www.gorjeanul.ro/pulsul-zilei/feedback-hour-of-code-la-c-n-t-v#.Ve_cgaDtkoI
http://www.europacasanoastra.ro/articol/ca%C8%99tigatorii-vizitelor-la-bruxelles-la-comisia-
europeana-din-cadrul-concursului-de-proiecte-lider-european/4457
2015-2016
4. Suma pătratelor rândului este egală cu elementul din mijloc al rândului , altfel spus
6. Dacă ne aflăm pe un rând număr prim atunci toate numerele ce compun acel rând cu excepția lui 1
sunt divizibile cu acel număr prim.
Exemplu:
Rândul 7: 1 7 21 35 35 21 7 1. Numerele 21 şi 35 sunt divizibile cu 7.
Rândul 11: 1 11 55 165 330 462 462 330 165 55 11 1. Numerele 55, 165, 330 şi 462 sunt divizibile cu
11.
55
44
Relații pe diagonale 2014-2015
1. Prima diagonală a triunghiului conţine numai numărul 1. A două diagonală este reprezentată de
Hour
numerele of Code
naturale pozitive în ordine crescătoare, a treia diagonală conţine numerele triunghiulare, a
patra diagonală conţine numerele tetraedre care sunt date de formula
http://www.gorjeanul.ro/pulsul-zilei/hour-of-code-si-la-c-n-t-v#.Ve_cCqDtkoI , iar
următoarea diagonală este reprezentată de numerele pentatope, ce sunt date de formula
http://www.gorjeanul.ro/pulsul-zilei/feedback-hour-of-code-la-c-n-t-v#.Ve_cgaDtkoI
.
The Magic Behind Google
http://www.gorjeanul.ro/pulsul-zilei/de-la-c-n-t-v-la-visul-american-si-inapoi#.VexMO7udIx0
http://gorjexclusiv.ro/informatician-gorjean-ambasador-google-la-el-acasa/
http://www.gorj-domino.ro/tanarul-bogdan-drutu-angajat-la-google-s-a-intors-in-targu-jiu/
2015-2016
2. Se poate obține seria numerelor șirului Fibonacci dacă se însumează pe diagonale ”line”
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
Triunghiul aranjamentelor
1
1 1
1 2 2
1 3 6 6
1 4 12 24 24
1 5 20 60 120 120
n=2Hour
((a · b)of Code
· c), (a · (b · c)) 2 moduri
http://www.gorjeanul.ro/pulsul-zilei/hour-of-code-si-la-c-n-t-v#.Ve_cCqDtkoI
http://www.gorjeanul.ro/pulsul-zilei/feedback-hour-of-code-la-c-n-t-v#.Ve_cgaDtkoI
n=3 (((a · b) · c) · d), ((a · b) · (c · d)), ((a · (b · c)) · d), (a · ((b · c) · d)), 5 moduri
The
(a · Magic Behind Google
(b · (c · d)))
http://www.gorjeanul.ro/pulsul-zilei/de-la-c-n-t-v-la-visul-american-si-inapoi#.VexMO7udIx0
n=4 ((((a · b) · c) · d) · e), (((a · b) · c) · (d · e)), (((a · b) · (c · d)) · e), 14 moduri
http://gorjexclusiv.ro/informatician-gorjean-ambasador-google-la-el-acasa/
http://www.gorj-domino.ro/tanarul-bogdan-drutu-angajat-la-google-s-a-intors-in-targu-jiu/
((a · b) · ((c · d) · e)), ((a · b) · (c · (d · e))), (((a · (b · c)) · d) · e),
Concurs
((a · (b · c))„Lider European”
· (d · e)), ((a · ((b · c) · d)) · e), ((a · (b · (c · d))) · e),
http://www.europacasanoastra.ro/articol/ca%C8%99tigatorii-vizitelor-la-bruxelles-la-comisia-
(a · (((b · c) · d) · e)), (a · ((b · c) · (d · e))), (a · ((b · (c · d)) · e)),
europeana-din-cadrul-concursului-de-proiecte-lider-european/4457
(a · (b · ((c · d) · e))), (a · (b · (c · (d · e))))
2015-2016
Definiție: Numerele ,n , se numesc numerele Catalan.
Relații echivalente:
3. Fie nℕşi numerele naturale x1,x2,...,xn {1,2,...,n}, astfel încât x1≤x2≤…≤xn. Câte
posibilităţi de alegere a acestor numere există astfel încât să fie îndeplinită condiţia: x1+x2+…+xn
0 (mod n)?
Pentru n = 1 , avem varianta 0. Pentru n = 2 , avem 00 şi 12. Pentru n = 3 avem 000,013,
022,112,233, iar pentru n = 4 obţinem 14 soluţii: 0000,0014,0023,0113,0122,0244,
0334,1112,1144,1234,1333,2224,2233,3444.
Se demonstrează că numărul de soluţii este
4. Numărul de arbori binari cu n noduri este
7
44
5. Numărul de drumuri laticiale dintre (0,0) și (n,n) cu pași de forma (1,0) și (0,1) care însă nu
2014-2015
trec deasupra dreptei de ecuație y=x este
Exemplu: n = 4:
Hour of Code
http://www.gorjeanul.ro/pulsul-zilei/hour-of-code-si-la-c-n-t-v#.Ve_cCqDtkoI
http://www.gorjeanul.ro/pulsul-zilei/feedback-hour-of-code-la-c-n-t-v#.Ve_cgaDtkoI
Algoritmul de sortare MergeSort este unul din algoritmii de sortare cu complexitate optimă. El este în
general prezentat ca un exemplu util de aplicare a metodei "Divide & Impera" și a algoritmului de
interclasare. Implementarea se face recursiv (varianta 0, de mai jos). În cele ce urmează am încercat să
implementez nerecursiv.
Dorim să sortăm elementele tabloului x[0],x[1],...,x[N-1]. Algoritmul se desfășoară pe parcursul a
log2(N) etape. La fiecare etapă vom parcurge secvențele de lungime 1≤d<N și le vom interclasa pe acelea
care sunt vecine obținând secvențe sortate de lungime 2d . Implementarea se poate face conform variantei 1
descrisă mai jos.
Analizând din alt punct de vedere , cu excepția algoritmului de sortare "BubbleSort", nici un algoritm
de sortare nu știe să evite efortul de sortare în cazul tablourilor care sunt sortate încă din etapa inițială. Se
poate vorbi de un fenomen de aplicare în "orb" a acestor algoritmi. Pentru soluția construită se poate face o
îmbunătățire în legătură cu acest fenomen de "orbire". Nu vom aplica interclasarea secvențelor sortate x[i...j-
1] și respectiv x[j...k-1] decât dacă x[j-1]>x[j] . Se obține varianta 2 de implementare care are un timp de
executare ameliorat față de celelalte două variante.
Am analizat comparativ timpii de executare pentru cele trei variante și am obținut diagrama de mai jos.
1 void interclasare(int x[], int p, int q, int r){
2 int n1,n2,i,j,k;
3 n1=q-p; n2=r-q+1;
4 for(i=0,k=p;k<q;i++,k++)v1[i]=x[k];
5 for(j=0,k=q;k<=r;j++,k++)v2[j]=x[k];
Clasic 6 v1[n1]=v2[n2-1]+1;
7 v2[n2]=v1[n1-1]+1;
8 for(i=0,j=0,k=p;k<=r;k++){
9 if(v1[i]<v2[j]) x[k]=v1[i++];
10 else x[k]=v2[j++];
11 }
12 }
88
44
2014-2015
1 void mergesort0(int x[], int p, int r){
2 if(p<r){
3 int q=(p+r)/2;
Hour
Varianta 0 of4Code mergesort0(x,p,q);
-recursivă 5 mergesort0(x,q+1,r);
http://www.gorjeanul.ro/pulsul-zilei/hour-of-code-si-la-c-n-t-v#.Ve_cCqDtkoI
6 interclasare(x,p,q+1,r);
http://www.gorjeanul.ro/pulsul-zilei/feedback-hour-of-code-la-c-n-t-v#.Ve_cgaDtkoI
7 }
8 }
The Magic Behind
1 void Google x[], int p, int r){
mergesort1(int
int d,i,j,k;
http://www.gorjeanul.ro/pulsul-zilei/de-la-c-n-t-v-la-visul-american-si-inapoi#.VexMO7udIx0
2
3 for(d=1;d<n;d=d*2){
http://gorjexclusiv.ro/informatician-gorjean-ambasador-google-la-el-acasa/
4 i=0;
http://www.gorj-domino.ro/tanarul-bogdan-drutu-angajat-la-google-s-a-intors-in-targu-jiu/
5 while(i+d<n){
Varianta 1
Concurs 76„Lider European”
-nerecursivă
j=i+d; k=j+d;
if(k>n)k=n;
8 interclasare(x,i,j,k-1);
http://www.europacasanoastra.ro/articol/ca%C8%99tigatorii-vizitelor-la-bruxelles-la-comisia-
9 i=k;
europeana-din-cadrul-concursului-de-proiecte-lider-european/4457
10 }
11 }
12 }
2015-2016
1 void mergesort2(int x[], int p, int r){
2 int d,i,j,k;
3 for(d=1;d<n;d=d*2){
4 i=0;
5 while(i+d<n){
6 j=i+d; k=j+d;
Varianta 2 7 if(k>n)k=n;
-nerecursivă 8 if(x[j-1]>x[j])
9 interclasare(x,i,j,k-1);
10 i=k;
11 }
12 }
13 }
18
16
14
12
10
Varianta 0
8
6 Varianta 1
4 Varianta 2
2
0
10.000.000
20.000.000
30.000.000
40.000.000
50.000.000
60.000.000
70.000.000
80.000.000
90.000.000
Propun cititorilor să ruleze cele trei implementări pentru tablouri gata sortate.
9
44
Algoritmul Al Kashi
2014-2015
Calcularea lui nk în timp logaritmic
Hour of Code
http://www.gorjeanul.ro/pulsul-zilei/hour-of-code-si-la-c-n-t-v#.Ve_cCqDtkoI
http://www.gorjeanul.ro/pulsul-zilei/feedback-hour-of-code-la-c-n-t-v#.Ve_cgaDtkoI
Prof. Carmen Negrea
The Magic Behind Google
1. Se citesc 2 numere naturale n si k. Sa se calculeze nk
http://www.gorjeanul.ro/pulsul-zilei/de-la-c-n-t-v-la-visul-american-si-inapoi#.VexMO7udIx0
O solutie ar fi sa calculam produsul P=n*n……*n ( n de k ori).
Amhttp://gorjexclusiv.ro/informatician-gorjean-ambasador-google-la-el-acasa/
putea micsora numarul de operatii daca folosim relatia:
http://www.gorj-domino.ro/tanarul-bogdan-drutu-angajat-la-google-s-a-intors-in-targu-jiu/
2. Calculul al celui de-al n-lea termen a unei formule recursive în timp logaritmic.
Obs. explicaţia matematică aparţine dlui. prof. Mihai Bunget
=>
A= => =An.
Aplicaţie :
2ndesc Timp maxim de executie/test: 0.1 secunde
Memorie totală disponibilă/stivă: 2 MB/1 MB
10
44 10
Se dă un numar natural N.
Cerinţă 2014-2015
Se cere să se afle numărul total de moduri în care 2N se poate scrie ca produs de cifre strict mai mari decât 1.
Date de intrare
Fişierul deHour of Code
intrare 2ndesc.in va conţine o singură linie pe care este scris numărul natural N.
http://www.gorjeanul.ro/pulsul-zilei/hour-of-code-si-la-c-n-t-v#.Ve_cCqDtkoI
Date de ieşire
http://www.gorjeanul.ro/pulsul-zilei/feedback-hour-of-code-la-c-n-t-v#.Ve_cgaDtkoI
Fişierul de ieşire 2ndesc.out va conţine o singură linie pe care se va scrie un număr natural, reprezentând
soluţia problemei. Deoarece numărul poate fi foarte mare, se cere să se afişeze modulo 666013.
Restricţii The Magic Behind Google
1 <= N <= 1000000000 (109)
http://www.gorjeanul.ro/pulsul-zilei/de-la-c-n-t-v-la-visul-american-si-inapoi#.VexMO7udIx0
Se acceptă şi produsul de o singură cifră (pentru N=2, se acceptă şi soluţia 4).
http://gorjexclusiv.ro/informatician-gorjean-ambasador-google-la-el-acasa/
Exemplu
http://www.gorj-domino.ro/tanarul-bogdan-drutu-angajat-la-google-s-a-intors-in-targu-jiu/
2ndesc.in 2ndesc.out Explicaţie 2ndesc.in 2ndesc.out
4 Concurs
7 „Lider
Pentru N=4 European”
avem următoarele soluţii: 1238 623122
http://www.europacasanoastra.ro/articol/ca%C8%99tigatorii-vizitelor-la-bruxelles-la-comisia-
1. 2*2*2*2
europeana-din-cadrul-concursului-de-proiecte-lider-european/4457
2. 2*2*4
3. 2*4*2
4. 4*2*2
5. 2*8
6.
7.
8*2
4*4
2015-2016
Soluţie
Dacă se generează primele valori 1,2,4,7,13,24…, se poate observa că un termen este dat de suma a 3 termeni
anteriori. Pentru o implementare clasică, se obţin maxim 30 depuncte.
Dacă se aplică observaţia de mai sus, se obţine punctaj maxim.
1 #include <fstream>
2 using namespace std;
3 ifstream f("2ndesc.in");
4 ofstream g("2ndesc.out");
5 long long a[4][4]={{0,0,0,0},{0,1,1,1},{0,1,0,0},{0,0,1,0}};
6 long long c[4][4]={{0,0,0,0},{0,1,1,1},{0,1,0,0},{0,0,1,0}};
7 //long x[4]={1,2,4};
8 long n;
9 void ProdusMatImpar(long long a[4][4],long long c[4][4] )
10 { int i,j,k;
11 long long b[4][4];
12 for(i=1;i<=3;++i)
13 for(j=1;j<=3;++j)
14 b[i][j]=c[i][j];
15
16 for(i=1;i<=3;++i)
17 for(j=1;j<=3;++j) c[i][j]=0;
18
19 for(i=1;i<=3;++i)
20 for(j=1;j<=3;++j)
21 for(k=1;k<=3;++k)
22 c[i][j]=(c[i][j]+a[i][k]%666013*b[k][j]%666013)%666013;
23 }
24 void ProdusMatA(long long a[4][4] )
25 { int i,j,k;
26 long long b[4][4];
27 for(i=1;i<=3;++i)
28 for(j=1;j<=3;++j)
29 b[i][j]=a[i][j];
30 for(i=1;i<=3;++i)
31 for(j=1;j<=3;++j) a[i][j]=0;
11
11
44
32
33 for(i=1;i<=3;++i) 2014-2015
34 for(j=1;j<=3;++j)
35 for(k=1;k<=3;++k)
36
37 }
Hour of Code
a[i][j]=(a[i][j]+ b[i][k]%666013*b[k][j]%666013)%666013;
38 http://www.gorjeanul.ro/pulsul-zilei/hour-of-code-si-la-c-n-t-v#.Ve_cCqDtkoI
int main()
39 { int i,j;
http://www.gorjeanul.ro/pulsul-zilei/feedback-hour-of-code-la-c-n-t-v#.Ve_cgaDtkoI
40 f>>n;
41 while(n)
42 The Magic Behind Google
{ if(n%2){ ProdusMatImpar(a,c);}
43 http://www.gorjeanul.ro/pulsul-zilei/de-la-c-n-t-v-la-visul-american-si-inapoi#.VexMO7udIx0
ProdusMatA(a);
44 n=n/2;
http://gorjexclusiv.ro/informatician-gorjean-ambasador-google-la-el-acasa/
45 }
46
http://www.gorj-domino.ro/tanarul-bogdan-drutu-angajat-la-google-s-a-intors-in-targu-jiu/
long fin=c[2][1];
47 g<<fin;
48 Concurs „Lider European”
f.close();
49 g.close();
50 http://www.europacasanoastra.ro/articol/ca%C8%99tigatorii-vizitelor-la-bruxelles-la-comisia-
return 0; }
europeana-din-cadrul-concursului-de-proiecte-lider-european/4457
Baze de numeraţie. Aplicaţii pe biţi
2015-2016 Prof. Carmen Negrea
Exemple
nr01.in nr01.out
64 4 0
1
4
5
16
17
20
21
64
Soluţie
Intern , numerele sunt reprezentate în baza 2.
Dacă luăm orice număr din sistemul de numeraţie zecimal , folosind reprezentarea lui internă şi facem o
conversie în baza cerută a biţilor din reprezentarea sa, obţinem rapid numerele cerute.
12
12
44
1 #include<fstream>
2 using namespace std;
2014-2015
3 int main()
4 {
5 Hour of Code
ifstream f("nr01.in");
ofstream g("nr01.out");
6 http://www.gorjeanul.ro/pulsul-zilei/hour-of-code-si-la-c-n-t-v#.Ve_cCqDtkoI
long n,v,p,i,val;
7 http://www.gorjeanul.ro/pulsul-zilei/feedback-hour-of-code-la-c-n-t-v#.Ve_cgaDtkoI
8 // calculam valoarea numarului in baza b folosind reprezentarea interna a
numerelor naturale
9 The Magic Behind Google
int b,ok=1;
10 http://www.gorjeanul.ro/pulsul-zilei/de-la-c-n-t-v-la-visul-american-si-inapoi#.VexMO7udIx0
f>>n>>b;
11 g<<0<<"\n"<<1<<"\n";
12 http://gorjexclusiv.ro/informatician-gorjean-ambasador-google-la-el-acasa/
// val: numere naturale 2,3,4.... de a caror reprezentare interna ne folosim
13 http://www.gorj-domino.ro/tanarul-bogdan-drutu-angajat-la-google-s-a-intors-in-targu-jiu/
val=2;
14 while(ok)
15 { Concurs „Lider European”
v=0;p=1; i=val;// facem conversia numărului
16 while(i)
17 http://www.europacasanoastra.ro/articol/ca%C8%99tigatorii-vizitelor-la-bruxelles-la-comisia-
{ // verificam paritatea bitului
if(i&1) v=v+p;
18 europeana-din-cadrul-concursului-de-proiecte-lider-european/4457
19 p=p*b;
20 i=i>>1; // modificam numarul- "taiem" ultimul bit
21 }
22 if (v<=n) {g<<v<<"\n";val++;} 2015-2016
23 else ok=0;
24 }
25
26 f.close();
27 g.close();
28 return 0;
29 }
Ecluza este o construcție hidrotehnică amenajată pe traseul unei căi navigabile, care asigură
trecerea navelor între două suprafețe de apă cu niveluri diferite. O ecluză se compune dintr-un bazin numit
„sas" sau „camera ecluzei", prevăzut la ambele capete cu porţi etanşe şi dintr-o instalaţie puternică de
pompare pentru umplerea sau golirea sasului până la nivelul dorit.
Specialiștii români au construit pe cursul navigabil al Dunării o succesiune de N ecluze numerotate
de la 1 la N, care asigură condiții optime de navigare în sezoanele secetoase. Astfel, dacă o navă se află la un
moment dat în ecluza i și nivelul apei din ecluză diferă de nivelul apei din ecluza i+1, pentru a-și continua
navigarea în condiții optime se face modificarea nivelului apei fie din ecluza i la nivelul ecluzei i+1, fie se face
modificarea nivelului apei din ecluza i+1 la nivelul ecluzei i.
De exemplu, dacă pentru un sector navigabil există 9 ecluze pentru care nivelul apei este următorul:
ecluză 1 2 3 4 5 6 7 8 9
nivel apă 2 2 4 1 2 2 1 2 2
Numărul minim de ecluze la care se impun modificări ale nivelului apei este 3, după cum urmează:
nivelul din ecluza 3 este coborât până la nivelul 2
13
13
44
ecluza 4 este umplută până la nivelul 2 2014-2015
ecluza 7 este umplută până la nivelul 2
Cerinţă
Hournivelul
Cunoscând of Code
apei din cele N ecluze, să se determine numărul minim de modificări ale nivelului
http://www.gorjeanul.ro/pulsul-zilei/hour-of-code-si-la-c-n-t-v#.Ve_cCqDtkoI
apei din ecluze care să permită o trecere prin toate ecluzele.
http://www.gorjeanul.ro/pulsul-zilei/feedback-hour-of-code-la-c-n-t-v#.Ve_cgaDtkoI
Date de intrare
The
Fişierul deMagic Behind
intrare ecluze.in Google
conține pe prima linie numărul natural N ce reprezintă numărul de
http://www.gorjeanul.ro/pulsul-zilei/de-la-c-n-t-v-la-visul-american-si-inapoi#.VexMO7udIx0
ecluze. Pe următoarea linie se află h1, h2,…, hN valori naturale separate prin câte un spațiu ce reprezintă
http://gorjexclusiv.ro/informatician-gorjean-ambasador-google-la-el-acasa/
nivelul apei corespunzător fiecărei ecluze.
http://www.gorj-domino.ro/tanarul-bogdan-drutu-angajat-la-google-s-a-intors-in-targu-jiu/
Date de ieșire
Concurs
Fişierul „Lider European”
de ieșire ecluze.out va conţine pe o singură linie un număr natural M ce reprezintă numărul
minim de modificări ale nivelului apei din ecluze care să permită o trecere prin toate ecluzele.
http://www.europacasanoastra.ro/articol/ca%C8%99tigatorii-vizitelor-la-bruxelles-la-comisia-
europeana-din-cadrul-concursului-de-proiecte-lider-european/4457
Restricţii şi precizări
2 ≤ N ≤ 100 000
2015-2016
1 ≤ hi ≤ 1 000 (hi – nivelul apei ecluzei i)
pentru 20% din teste N ≤ 30
Exemplu
ecluze.in ecluze.out Explicaţii
9 6 - ecluza 1 este umplută până la nivelul 2
123321123 - ecluza 2 este umplută până la nivelul 3
- nivelul din ecluza 4 este coborât până la nivelul 2
- nivelul din ecluza 5 este coborât până la nivelul 1
- ecluza 7 este umplută până la nivelul 2
- ecluza 8 este umplută până la nivelul 3
Descriere soluție
În ecluza ”i” putem ajunge:
- fie din ecluza anterioară + o modificare de nivel
- fie ajungem dintr-o ecluză cu același nivel prin modificarea tuturor nivelurilor ecluzelor aflate între
cele două ecluze
Dacă notăm:
nrMin[i] - numărul minim de modificări cu care putem ajunge în ecluza i
urm[i] - următoarea poziție a unei ecluze cu înălțimea egală cu h[i]
recurența se deduce ușor:
nrMin[i] = min(nrMin[i], nrMin[i-1] + 1);
nrMin[urm[i]] = min(nrMin[urm[i]], nrMin[i] + (urm[i] – i - 1));
Complexitate: O(n)
14
4414
Soluție
2014-2015
1 # include <fstream>
2 # include <algorithm>
3 Hour of Code
# define NM 100005
4 http://www.gorjeanul.ro/pulsul-zilei/hour-of-code-si-la-c-n-t-v#.Ve_cCqDtkoI
# define inf 999999999
5 using namespace std;
http://www.gorjeanul.ro/pulsul-zilei/feedback-hour-of-code-la-c-n-t-v#.Ve_cgaDtkoI
6
7 ifstream f("ecluze.in");
8 The Magic Behind Google
ofstream g("ecluze.out");
9 int i, j, n, m;
http://www.gorjeanul.ro/pulsul-zilei/de-la-c-n-t-v-la-visul-american-si-inapoi#.VexMO7udIx0
10 int Min[NM], last[NM], urm[NM], a[NM];
http://gorjexclusiv.ro/informatician-gorjean-ambasador-google-la-el-acasa/
11 int main ()
12
http://www.gorj-domino.ro/tanarul-bogdan-drutu-angajat-la-google-s-a-intors-in-targu-jiu/
{
13 f >> n;
14 Concurs „Lider European”
for (i=1; i<=n; ++i)
15 {
16
http://www.europacasanoastra.ro/articol/ca%C8%99tigatorii-vizitelor-la-bruxelles-la-comisia-
f >> a[i];
17 europeana-din-cadrul-concursului-de-proiecte-lider-european/4457
Min[i] = inf;
18 }
19
20 for (i=n; i>=1; --i)
21 2015-2016
if (last[a[i]] == 0) last[a[i]] = i;
22 else urm[i] = last[a[i]], last[a[i]] = i;
23 Min[1] = 0;
24 for (i=1; i<=n; ++i)
25 {
26 if (i>1) Min[i] = min(Min[i], Min[i-1] + 1);
27 if (urm[i]) Min[urm[i]] = min(Min[urm[i]], Min[i]+(urm[i]-i-1));
28 }
29 g << Min[n] << "\n";
30 return 0;
31 }
15
4415
2014-2015în …
IV. Ocolul pãmântului
HourINFORMATICÃ
of Code - marca CNTV
http://www.gorjeanul.ro/pulsul-zilei/hour-of-code-si-la-c-n-t-v#.Ve_cCqDtkoI
Continuăm seria articolelor prin intermediul cărora să cunoașteți foști elevi, cu activitate în
http://www.gorjeanul.ro/pulsul-zilei/feedback-hour-of-code-la-c-n-t-v#.Ve_cgaDtkoI
afara țării sau având realizări de excepție cu impact internațional, absovenți ce pot fi modele și
exemple de The
urmatMagic Behindactuală,
pentru generația Google aspirantă la poziții de top în mari companii de IT sau
cercetare la nivel de vârf.
http://www.gorjeanul.ro/pulsul-zilei/de-la-c-n-t-v-la-visul-american-si-inapoi#.VexMO7udIx0
http://gorjexclusiv.ro/informatician-gorjean-ambasador-google-la-el-acasa/
De la C.N.T.V. la Melbourne
http://www.gorj-domino.ro/tanarul-bogdan-drutu-angajat-la-google-s-a-intors-in-targu-jiu/
De la C.N.T.V. la Oslo
Dragoș Tîrvescu – absolvent CNTV, 2004
IRMI Group, Norges Røde Kors, Oslo (Norvegia) - expert în strategie
energetică, masterat în economie internațională de la Norwegian
Business School, cu accent pe guvernanță corporativă și impactul
corporațiilor asupra mediului înconjurător
Încă din clasa a V-a, în schimb, am fost fascinat de științele pământului, în special geografia. Astfel, am
descoperit cum funcționează lumea înconjurătoare și am devenit tot mai curios să înțeleg alte culturi și
civilizații. Lumea înconjurătoare a devenit “geografie” și am încercat, cu timpul, să o înțeleg tot mai bine, din
noi perspective. În clasa a VIII-a, am participat la Olimpiada Națională de Geografie și am fost selectat pentru
a participa la etapa internațională organizată de National Geographic în Vancouver, Canada. Practic, a fost
prima călătorie neimaginară în străinătate, în 2001, la 15 ani. Mi-a schimbat viața; atunci am instalat și
internet acasă pentru prima dată, am avut prima adresă de e-mail, primul telefon mobil, când nu existau
Google Maps, Street View, GPS, iar referatele pentru la școală se scriau de mână și se copiau din Arborele
17
17
44
Lumii, nu de pe Wikipedia. În prima zi de liceu, tocmai revenisem acasă de câteva săptămâni de la concursul
2014-2015
din Canada. Bineînțeles, am participat la concursul național de geografie și în clasa a IX-a, obținând de data
aceasta premiul I, la Iași. Concursul internațional a avut loc în Africa de Sud, unde am călătorit împreună cu
dl profesor Zaharia, iar echipa României a câștigat detașat. În Durban, a început să se înfiripeze pentru prima
Hour of
dată, încă nelămurit, Code
calea pe care doream să o urmez în carieră: dezvoltare durabilă regională, combaterea
http://www.gorjeanul.ro/pulsul-zilei/hour-of-code-si-la-c-n-t-v#.Ve_cCqDtkoI
sărăciei și a poluării, prin capitalism responsabil (v. responsabilitate corporativă socială). Am înțeles, încă de
http://www.gorjeanul.ro/pulsul-zilei/feedback-hour-of-code-la-c-n-t-v#.Ve_cgaDtkoI
atunci, și faptul că urma să părăsesc România pentru a putea să urmez o carieră în domeniul care mă
pasiona.
The Magic
În prezent, locuiesc laBehind Google
Oslo, Norvegia, începând cu anul 2008. Am urmat cursurile de masterat aici, în
domeniul Marketingului și Managementului Internațional, cu o bursă obținută în timpul studiilor la
http://www.gorjeanul.ro/pulsul-zilei/de-la-c-n-t-v-la-visul-american-si-inapoi#.VexMO7udIx0
Academia de Studii Economice din București, Facultatea de Administrarea Afacerilor în Limbi Străine. Nu am
http://gorjexclusiv.ro/informatician-gorjean-ambasador-google-la-el-acasa/
studiat geografia la facultate, deoarece perspectivele în domeniu, în România, nu erau tocmai “strălucite”.
http://www.gorj-domino.ro/tanarul-bogdan-drutu-angajat-la-google-s-a-intors-in-targu-jiu/
Am încercat, în schimb, să abordez teme de dezvoltare durabilă, strategie corporativă și responsabilitate
socială în toate lucrările realizate pe parcursul anilor de studiu universitar. Anul trecut, am urmat câteva
Concurs „Lider European”
cursuri suplimentare la Oslo, în limba norvegiană, pentru a aprofunda înțelegerea acestui domeniu vast,
complex, și în permanentă schimbare. Domeniile de expertiză pe care le-am ales sunt energia și schimbările
http://www.europacasanoastra.ro/articol/ca%C8%99tigatorii-vizitelor-la-bruxelles-la-comisia-
climatice, și voi continua să urmez cu plăcere această cale.
europeana-din-cadrul-concursului-de-proiecte-lider-european/4457
Trebuie să vă mărturisesc însă câteva lucruri pe care le-am înțeles cu timpul. În primul rând,
rezultatele obținute ca student și în domeniul consultanței de strategie se datorează în mare măsură
capacităților de analiză și de sinteză dezvoltate în anii de școală și de liceu. Indiferent de domeniul în care
2015-2016
doriți să lucrați și de abordarea acestuia mai târziu, efortul depus în anii de liceu la matematică, fizică,
informatică și chimie vă va fi răsplătit însutit. În al doilea rând, singurul mod de a reuși pe termen lung în
viață, de a vă împlini visele, este prin muncă perseverentă, depășind așteptările celor din jur și pe ale
voastre. Contează cel puțin la fel de mult și altă experiență pe care o dobândiți încă din anii de liceu, în afară
de rezultatele școlare: voluntariat, antreprenoriat social sau de afaceri, activitate fizică, în general activități
în afara școlii.
În toată lumea, revoluția tehnologică din ultimele decenii a făcut ca școala – din clasa I până la
masterat, în sensul strict teoretic al cuvântului – să nu mai pregătească corespunzător tinerii pentru viață.
Modul în care se predă la școală, materia din manuale, așteptările profesorilor, amintesc de o lume
încremenită în trecut.Nu doar în România, pretutindeni! Fiecare trebuie să își ia viitorul în propriile mâini și
să își folosească timpul în mod chibzuit. Citiți pentru a înțelege, în loc de a memora și reproduce informații.
Lucrați în echipă, colaborați, prezentați rezultatele împreună. Dacă lucrările de control se axează pe
memorare, poate că o notă mică nu este “sfârșitul lumii”.Nu încălcați regulile copiind, dar insistați să fiți
evaluați și altfel decât individual. Căutați informații suplimentare pe internet, întrebați la școală și pe
forumuri. Nu la fiecare materie, în fiecare săptămână, bineînțeles, dar în orice caz la cele pe care vă
pasionează. Conceptul de “10 pelinie” la care aspira generația mea are doar parțial acoperire în rezultatele
pe care le veți obține mai târziu.
Nu mergeți la o facultate axată pe materii care nu vă pasionează. Este întru totul adevărat că lumea
are nevoie de ingineri și programatori, veți găsi oarecum ușor un loc de muncă bine plătit, oriunde în lume,
dacă urmați Politehnica. În România, este și unul din foarte puținele domenii care se plătește decent. Fiți însă
sinceri cu voi înșivă și urmați calea care vă pasionează, chiar dacă ar putea fi mai dificilă. Dacă singurele
motive pentru care ați urma Automatica sunt presiunea din clasă sau de acasă, respectiv perspectiva unui loc
de muncă bine plătit, gândiți-vă foarte bine la ceea ce faceți. Repet, singurul mod de a fi mulțumiți mai târziu
cu ceea ce faceți, pentru cel puțin 40 de ani, câte 40 de ore pe săptămână, este să faceți un lucru de care
sunteți pasionați. Uitați-vă la părinții și profesorii voștri, cei care își fac munca cu pasiune au rezultate mai
bune, sunt mai îndrăgiți de cei din jur și în general mai fericiți.
Competențele digitale nu sunt același lucru cu o carieră în informatică. Orice cale ați urma,
bineînțeles că trebuie să cunoașteți foarte bine (insist, foarte bine!) limba engleză, cel puțin încă o limbă
străină, și pachetul de programe Office. O alternativă la o carieră ca programator poate fi în design, editare
video și imagine, statistică sau analiza de “big data”. Posibilitățile sunt aproape infinite, și pentru toate aveți
nevoie de o bază solidă în științe reale, o înțelegere cel puțin de bază în programare, și de multă muncă,
făcută cu pasiune. Totul se schimbă acum într-un asemenea ritm, încât veți rezista doar învățând în
permanență ceva nou, pentru a deveni o versiune mai bună a voastră înșivă, exact ca noile versiuni de iOS,
Android etc. Ori nimeni nu poate să învețe în permanență altceva decât ceea ce îi pasionează.
V-am bătut suficient la cap. Lăsând totul la o parte, cred că lucrul cel mai important pe care l-am
învățat în Norvegia este bucuria de a trăi. Perseverența și munca serioasă nu presupun a te îngropa în
18
18
44
studiu. Ieșiți în natură, faceți sport, urmăriți serialele care vă pasionează, în orice caz creați-vă un
2014-2015
program săptămânal care nu presupune doar școală. Cum spuneam, cel puțin la fel de importante sunt
experiențele extrașcolare. Mă bucur că se creează un grup de alumni la CNTV, astfel încât să aveți
posibilitatea să luați legătura cu absolvenții din anii anteriori. Majoritatea sunt sigur mai puțin pisălogi
Hour of Code
decât mine și cel puțin la fel de deschiși să răspundă întrebărilor pe care poate că le aveți în legătură cu calea
http://www.gorjeanul.ro/pulsul-zilei/hour-of-code-si-la-c-n-t-v#.Ve_cCqDtkoI
pe care doriți să o urmați. Pe curând!
http://www.gorjeanul.ro/pulsul-zilei/feedback-hour-of-code-la-c-n-t-v#.Ve_cgaDtkoI
Cerință
Cunoscând numărul de piste P și de sectoare S al unui platan, numărul și poziția clusterilor ocupați, să
se scrie un program care determină :
1. numărul de piste care au toți clusterii liberi;
2. numărul minim de mutări de clusteri, pentru fiecare pistă în parte, astfel încât platanul să devină
defragmentat.
Date de intrare
Pe prima linie a fişierului de intrare defrag.in se găsește numărul natural Va cărui valoare poate fi doar 1
sau 2.
Pe a doua linie a fișierului de intrare se găsesc două numerenaturalePși S, separate printr-un spaţiu,
cu semnificaţia din enunţ.
A treia linie conţine un număr natural C reprezentând numărul total de clusteri ocupați de pe platan,
iar pe fiecare din următoarele C linii se găsește câte o pereche de valori pişi si, 1 ≤ i ≤ C, separate printr-un
spaţiu, reprezentând pista, respectiv sectorul unde se află fiecare cluster ocupat.
Date de ieşire
Fișierul de ieșire este defrag.out.
19
44 19
Dacă valoarea lui V este 1 atunci fişierul de ieşire va conţine pe prima linie un număr natural ce
2014-2015
reprezintă numărul de piste care au toți clusterii liberi.
Dacă valoarea lui V este 2atunci fişierul de ieşire va conține pe prima linie P numere naturale notate
Mi, 1 ≤ i ≤ P, separate prin câte un singur spațiu, unde Mi reprezintă numărul minim de mutări de clusteri,
Hour
dintre cei aflați ofi,Code
pe pista astfel încât pe pista i clusterii ocupați să se găsească într-o ordine consecutivă.
http://www.gorjeanul.ro/pulsul-zilei/hour-of-code-si-la-c-n-t-v#.Ve_cCqDtkoI
Restricţii şi precizări
http://www.gorjeanul.ro/pulsul-zilei/feedback-hour-of-code-la-c-n-t-v#.Ve_cgaDtkoI
1 ≤ P ≤ 100
1 ≤ S ≤ 360
1 ≤ CThe ≤ P*S Magic Behind Google
pistele sunt numerotate de la 1 la P începând cu pista exterioară;
http://www.gorjeanul.ro/pulsul-zilei/de-la-c-n-t-v-la-visul-american-si-inapoi#.VexMO7udIx0
sectoarele sunt numerotate de la 1 la S în sensul acelor de ceasornic începând cu sectorul 1;
http://gorjexclusiv.ro/informatician-gorjean-ambasador-google-la-el-acasa/
dacă o pistă are toți clusterii liberi, atunci valoarea cerută la a doua cerință este 0;
http://www.gorj-domino.ro/tanarul-bogdan-drutu-angajat-la-google-s-a-intors-in-targu-jiu/
20% din teste vor avea valoarea V = 1, iar 80% din teste vor avea valoarea V = 2
Concurs „Lider European”
Exemple:
http://www.europacasanoastra.ro/articol/ca%C8%99tigatorii-vizitelor-la-bruxelles-la-comisia-
defrag.in defrag.out Explicaţii
europeana-din-cadrul-concursului-de-proiecte-lider-european/4457
1 1 Datele corespund figurilor anterioare :
48 V = 1, deci se rezolvă NUMAI prima cerință.
10
11
2015-2016
Numărul de piste P = 4 , numărul de sectoare S = 8
13 Numărul total de clusteri ocupați este C = 10 (cei marcați cu negru)
15 Pe prima pistă sunt 4 clusteri ocupați, în sectoarele 1, 3, 5 si 7.
17 Pe a doua pistă sunt 2 clusteri ocupați, în sectoarele 2 și 4.
45 Pe a treia pistă nu sunt clusteri ocupați.
41 Pe a patra pistă sunt 4 clusteri ocupați, în sectoarele 1, 5, 6 și 8.
46
48 O singură pistă are toți clusterii liberi, pista numărul 3, deci valoarea
22 cerută este 1;
24
Sumarul algoritmului
Pentru a număra pistele libere, voi face un vector de apariție al pistelor citite, apoi voi contoriza elementele
nule, afișând contorul (vectorul ap[101]).
Pentru punctul b), voi folosi o matrice a[101][760]. Voi citi x, y și voi marca a[x][y] cu 1, iar pe
coloana 0 voi memora numărul de elemente al fiecarei linii. De asemenea, voi marca si a[x][y+s] cu 1,
dublând vectorul, pentru a putea „uni” cele doua capete.
Voi parcurge în structura repetitiva liniile matricei, voi salva în k numărul de elemente ale
liniei. Pentru a aranja cei k clusteri, trebuie ca pe k poziții consecutive să am k clusteri. Pentru a face
un număr minim de mutări, trebuie să găsesc un număr maxim de clusteri pe k poziții consecutive, apoi
2020
44
2014-2015
trebuind făcute k-maxim mutari ; Pentru a calcula numărul de clusteri pe k poziții conseuctive voi folosi un
algoritm liniar, nu unul pătratic. Voi utiliza sume parțiale, a[i][j] reprezentând numărul clusterilor de pe linia
i, coloanele 1-j. Voi parcurge cu j de la k+1 până la 2*s-1 fiecare linie, calculând maxim ca fiind max(a[i][j]-
a[i][j-k]). VoiHour of Code
calcula apoi numărul de mutări și îl voi afișa.
Rezolvare
http://www.gorjeanul.ro/pulsul-zilei/hour-of-code-si-la-c-n-t-v#.Ve_cCqDtkoI
1 #include <iostream>
http://www.gorjeanul.ro/pulsul-zilei/feedback-hour-of-code-la-c-n-t-v#.Ve_cgaDtkoI
2 #include <fstream>
3 #include <cstdio>
4 The Magic Behind Google
using namespace std;
5 ifstream f("defrag.in");
http://www.gorjeanul.ro/pulsul-zilei/de-la-c-n-t-v-la-visul-american-si-inapoi#.VexMO7udIx0
6 ofstream g("defrag.out");
7 http://gorjexclusiv.ro/informatician-gorjean-ambasador-google-la-el-acasa/
int ap[101],a[101][761],test,p,s,nr,i,x,y,k,j,maxim;
8 int main()
http://www.gorj-domino.ro/tanarul-bogdan-drutu-angajat-la-google-s-a-intors-in-targu-jiu/
9 {
10 Concurs „Lider European”
f>>test;
11 f>>p>>s;
12 f>>nr;
http://www.europacasanoastra.ro/articol/ca%C8%99tigatorii-vizitelor-la-bruxelles-la-comisia-
13 if(test==1)
europeana-din-cadrul-concursului-de-proiecte-lider-european/4457
14 {
15 for(i=1;i<=nr;i++) {f>>x>>y;
16 ap[x]=1;}
17 k=0; 2015-2016
18 for(i=1;i<=p;i++)
19 {
20 if(ap[i]==0) k++;
21 }
22 g<<k;
23 return 0;
24 }
25 for(i=1;i<=nr;i++)
26 {
27 f>>x>>y;
28 a[x][0]++;
29 a[x][y]=a[x][y+s]=1;
30 }
31 for(i=1;i<=p;i++)
32 {
33 k=a[i][0];
34 for(j=2;j<=2*s-1;j++) a[i][j]=a[i][j-1]+a[i][j];
35 maxim=0;
36 for(j=k+1;j<=2*s-1;j++) if(a[i][j]-a[i][j-k]>maxim) maxim=a[i][j]-a[i][j-k];
37 g<<k-maxim<<' ';
38 }
39 return 0;
40 }
The
De exemplu, dacăMagic Behind
șirul inițial Google
de bile este:
13322223115644447
5http://www.gorjeanul.ro/pulsul-zilei/de-la-c-n-t-v-la-visul-american-si-inapoi#.VexMO7udIx0
Irinuca va acționa asupra unei bile de culoare 2. Prin eliminare se obține șirul de bile
http://gorjexclusiv.ro/informatician-gorjean-ambasador-google-la-el-acasa/
1333115644447
5http://www.gorj-domino.ro/tanarul-bogdan-drutu-angajat-la-google-s-a-intors-in-targu-jiu/
din care se elimină și secvența de bile de culoare 3 obținându-se șirul de bile
5 1 1 1 5Concurs
6 4 4 4 4 7 „Lider European”
din care se elimină și secvența de culoare 1.
5644447
5http://www.europacasanoastra.ro/articol/ca%C8%99tigatorii-vizitelor-la-bruxelles-la-comisia-
Cum secvența de bile de culoare 5 nu este suficient de lungă, aceasta nu se mai elimină. Acum Irinuca trage
europeana-din-cadrul-concursului-de-proiecte-lider-european/4457
asupra unei bile de culoare 4 și obține
5567
2015-2016
dar cum în stânga și în dreapta secvenței eliminate sunt secvențe de culori diferite, nu se va mai elimina nici
o secvență. Jocul se încheie deoarece nu mai există nici o secvență de lungime cel puțin 3 asupra căreia să se
poată trage.
Cerinţă
Cunoscând numărul de bile și culorile fiecărei bile de pe ecranse cere să se determine:
1. numărul de secvențe de bile care se aflau inițial pe ecran;
2. numărul de bile care rămân neeliminate de pe ecran și culorile bilelor rămase în ordine pe ecran la
finalul jocului.
Date de intrare
Fişierul de intrare arc.in conţine pe prima linie un număr natural V. Pentru toate testele de intrare, numărul
V poate avea doar valoarea 1 sau 2.
A doua linie conține un număr natural n reprezentând numărul de bile, iar a treia linie conține n numere
naturale c1, c2, ..., cn separate prin câte un spațiu, reprezentând culorile celor n bile de pe ecran.
Date de ieşire
Dacă valoarea lui V este 1, se va rezolva numai punctul 1 din cerință.
În acest caz, în fişierul de ieşire arc.out se va scrie un singur număr natural n1, reprezentând numărul de
secvențe de bile aflate inițial pe ecran.
Dacă valoarea lui V este 2, se va rezolva numai punctul 2 din cerință.
În acest caz, în fişierul de ieşire arc.out se va scrie pe prima linie un singur număr natural n2, reprezentând
numărul de bile care rămân neeliminate de pe ecran la finalul jocului, iar pe următoarele n2 linii se va scrie
câte un număr natural reprezentând în ordine culorile bilelor rămase neeliminate la finalul jocului.
Dacă la finalul jocului nu mai rămâne nici o bilă neeliminată, fișierul de ieșire va conține pe prima sa
linie valoarea 0.
Restricţii şi precizări
1 ≤ n ≤ 10000
1 ≤ c1, c2,…, cn ≤ 100000
Pentru rezolvarea corectă a primei cerinţe se acordă 20 de puncte, iar pentru cerința a doua se acordă 80 de
puncte.
Rezolvare
1 #include <fstream>
2 using namespace std;
3 int a[10000],n,i,v,nr,pozmax,secvmax,j;
4 ofstream g("arc.out");
5 int main()
6 {
7
8 freopen("arc.in","r",stdin);
9 scanf("%d %d",&v,&n);
2222
44
if(v==1)
10
11 {
2014-2015
12 nr=1;
13 scanf("%d",&a[0]);
14 Hour of Code
for(i=1;i<n;i++)
15 {
http://www.gorjeanul.ro/pulsul-zilei/hour-of-code-si-la-c-n-t-v#.Ve_cCqDtkoI
16 scanf("%d",&a[i]);
http://www.gorjeanul.ro/pulsul-zilei/feedback-hour-of-code-la-c-n-t-v#.Ve_cgaDtkoI
17 if(a[i]!=a[i-1])
18 nr++;
19 The Magic Behind Google
}
20 g<<nr<<'\n';
http://www.gorjeanul.ro/pulsul-zilei/de-la-c-n-t-v-la-visul-american-si-inapoi#.VexMO7udIx0
21 }
22 http://gorjexclusiv.ro/informatician-gorjean-ambasador-google-la-el-acasa/
else
23 http://www.gorj-domino.ro/tanarul-bogdan-drutu-angajat-la-google-s-a-intors-in-targu-jiu/
{
24 secvmax=0;
25 Concurs „Lider European”
nr=1;
26 scanf("%d",&a[0]);
27 for(i=1;i<n;i++)
http://www.europacasanoastra.ro/articol/ca%C8%99tigatorii-vizitelor-la-bruxelles-la-comisia-
28 {
europeana-din-cadrul-concursului-de-proiecte-lider-european/4457
29 scanf("%d",&a[i]);
30 if(a[i]==a[i-1])
31 {nr++;
32 if(nr>secvmax) 2015-2016
33 {secvmax=nr;
34 pozmax=i;}
35 }
36 else
37 nr=1;
38 }
39 while(secvmax>2)
40 {
41 for(i=pozmax-secvmax+1;i<n-secvmax;i++)
42 a[i]=a[i+secvmax];
43 n-=secvmax;
44 nr=1;
45
46 j=pozmax-secvmax+1;
47 if(j!=0&&a[j-1]==a[j])
48 { while(a[j-1]==a[j]&&j!=0)
49 {
50 j--;
51 nr++;
52 }
53 j=pozmax-secvmax+1;
54 while(a[j+1]==a[j]&&j!=n-1)
55 {
56 j++;
57 nr++;
58 }
59 }
60 if(nr>2)
61 {
62 secvmax=nr;
63 pozmax=j;
64 }
65 else
66 {
67 secvmax=0;
68 nr=1;
69 for(i=1;i<n;i++)
70 {
71 if(a[i]==a[i-1])
72 {nr++;
73 if(nr>secvmax)
23
23
44
74 {secvmax=nr;
75 2014-2015
pozmax=i;}
76 }
77 else
78 Hour of Code nr=1;
79 }
http://www.gorjeanul.ro/pulsul-zilei/hour-of-code-si-la-c-n-t-v#.Ve_cCqDtkoI
80 }
81 http://www.gorjeanul.ro/pulsul-zilei/feedback-hour-of-code-la-c-n-t-v#.Ve_cgaDtkoI
}
82 g<<n<<'\n';
83
84
The Magic Behind Google
for(i=0;i<n;i++)
g<<a[i]<<'\n';
85 http://www.gorjeanul.ro/pulsul-zilei/de-la-c-n-t-v-la-visul-american-si-inapoi#.VexMO7udIx0
}
86 return 0;
http://gorjexclusiv.ro/informatician-gorjean-ambasador-google-la-el-acasa/
87 }
http://www.gorj-domino.ro/tanarul-bogdan-drutu-angajat-la-google-s-a-intors-in-targu-jiu/
a) Se face DFS, ținându-se seama să nu se treacă peste muchiile care au costul mai mare ca distanța
maximă pe care o poatezburadragonul 1.
b) Vom merge pe ideea programării dinamicepe stări exponențiale. Așadar vom avea matricea:
24
24
44
A[i][j]- numărul minim de pași pentru a ajungepe insula -i- venind cu dragonul –j-
2014-2015
Initial matricea este inițializată cu infinit, iar A[1][1]=0 (pentru că începem de pe insula 1 cu
dragonul 1)
Se observă cu ușurință că de pe insula actuală putem pleca pe insulele vecine fie pe dragonul actual,
Hour of Code
fie pe dragonul specific acelei insule.
http://www.gorjeanul.ro/pulsul-zilei/hour-of-code-si-la-c-n-t-v#.Ve_cCqDtkoI
Rezolvare
1 http://www.gorjeanul.ro/pulsul-zilei/feedback-hour-of-code-la-c-n-t-v#.Ve_cgaDtkoI
# include <cstdio>
2 # include <algorithm>
3
4
The Magic Behind Google
# include <vector>
# include <queue>
5 http://www.gorjeanul.ro/pulsul-zilei/de-la-c-n-t-v-la-visul-american-si-inapoi#.VexMO7udIx0
# define NR 805
6 http://gorjexclusiv.ro/informatician-gorjean-ambasador-google-la-el-acasa/
# define inf 999999999
7 using namespace std;
http://www.gorj-domino.ro/tanarul-bogdan-drutu-angajat-la-google-s-a-intors-in-targu-jiu/
8 structelem
9
10
{
Concurs „Lider European”
int insula, dragon;
11 }F;
http://www.europacasanoastra.ro/articol/ca%C8%99tigatorii-vizitelor-la-bruxelles-la-comisia-
12 structvect
europeana-din-cadrul-concursului-de-proiecte-lider-european/4457
13 {
14 int y, cost;
15 }E;
16
17
vector<vect>v[NR];
queue<elem>q;
2015-2016
18 int i,j,n,m,x,y,maxx,tip;
19 int minn[NR][NR], dmax[NR], ap[NR], uz[NR][NR];
20 void init ()
21 {
22 for (inti=1; i<=n; ++i)
23 for (int j=1; j<=n; ++j)
24 minn[i][j]=inf;
25 }
26 void citire ()
27 {
28 freopen ("dragoni.in", "r", stdin);
29 scanf ("%d%d%d", &tip, &n, &m);
30 for (i=1; i<=n; ++i)
31 scanf ("%d", &dmax[i]);
32 for (i=1; i<=m; ++i)
33 {
34 scanf ("%d%d%d", &x, &y, &E.cost);
35 E.y=y;
36 v[x].push_back(E);
37
38 E.y=x;
39 v[y].push_back(E);
40 }
41 }
42 void DFS (int k)
43 {
44 ap[k]=1; maxx=max(maxx, dmax[k]);
45 for (inti=0; i<v[k].size(); ++i)
46 if (v[k][i].cost<=dmax[1] && !ap[v[k][i].y]) DFS (v[k][i].y);
47 }
48 voiddinamica ()
49 {
50 intnextnod, cost, nod, D;
51 while (! q.empty())
52 {
53 F=q.front(); q.pop();
54 nod=F.insula; D=F.dragon;
55 uz[nod][D]=0;
56 for (inti=0; i<v[nod].size(); ++i)
57 {
25
4425
58 nextnod=v[nod][i].y; cost=v[nod][i].cost;
59 2014-2015
if (dmax[D]>=cost &&minn[nod][D] + cost<minn[nextnod][D])
60 {
61 minn[nextnod][D] = minn[nod][D] + cost;
62 Hour of Code
F.insula=nextnod; F.dragon=D;
63 if (! uz[nextnod][D])
http://www.gorjeanul.ro/pulsul-zilei/hour-of-code-si-la-c-n-t-v#.Ve_cCqDtkoI
64 {
65 http://www.gorjeanul.ro/pulsul-zilei/feedback-hour-of-code-la-c-n-t-v#.Ve_cgaDtkoI
q.push(F);
66 uz[nextnod][D]=1;
67
68
The Magic Behind Google
}
}
69 http://www.gorjeanul.ro/pulsul-zilei/de-la-c-n-t-v-la-visul-american-si-inapoi#.VexMO7udIx0
}
70 for (inti=0; i<v[nod].size(); ++i)
http://gorjexclusiv.ro/informatician-gorjean-ambasador-google-la-el-acasa/
71 {
http://www.gorj-domino.ro/tanarul-bogdan-drutu-angajat-la-google-s-a-intors-in-targu-jiu/
72 nextnod=v[nod][i].y; cost=v[nod][i].cost;
if (dmax[nod]>=cost &&minn[nod][D] + cost<minn[nextnod][nod])
73
74
Concurs „Lider European”
{
75 minn[nextnod][nod] = minn[nod][D] + cost;
http://www.europacasanoastra.ro/articol/ca%C8%99tigatorii-vizitelor-la-bruxelles-la-comisia-
76 F.insula=nextnod; F.dragon=nod;
europeana-din-cadrul-concursului-de-proiecte-lider-european/4457
77 if (! uz[nextnod][nod])
78 {
79 q.push(F);
80
81
uz[nextnod][nod]=1;
}
2015-2016
82 }
83 }
84 }
85 }
86 int main ()
87 {
88 freopen ("dragoni.out", "w", stdout);
89 citire (); //citimdatele
90 init (); // minn[i][j] - drumul minim de la insula 1
91 // pana la insula isiajungandpedragonul j
92 if (tip==1)
93 {
94 maxx=0;
95 DFS (1); // parcurgem in adancime
96 printf ("%d\n", maxx);
97 }
98 else {
99 F.insula=1; F.dragon=1; minn[1][1]=0;
100 q.push(F);
101 dinamica (); // dintr-o insula, putemajungeintr-o insula vecina
102 // fie pedragonulcurent, fie pedragonul de pe
103 // insula respectiva
104 intsolutie=inf;
105 for (i=1; i<=n; ++i)
106 {
107 solutie=min(solutie, minn[n][i]);
108 }
109 printf ("%d\n", solutie);
110 }
111 return 0;
112 }
Rezolvare
1 //Solutie Popescu George O(n+m) - BFS diametru maxim in arbore
2
3 #include <cstdio>
4 #include <queue>
5 #include <cstring>
6 #include <vector>
7 #define NMAX 100005
8 #define INF 200005
10 using namespace std;
11 int n,m,i,x,y,Max,poz,k;
12 int viz[NMAX],d[NMAX];
13 vector<int>v[NMAX];
14 queue<int>q;
15 void citire()
16 {
17 freopen("copaci.in", "r", stdin);
18 scanf("%d%d",&n,&m);
19 for(int i = 1; i < n; ++i)
20 {
21 scanf("%d%d",&x,&y);
22 v[x].push_back(y);
23 v[y].push_back(x);
24 }
25 }
26 //caut cel mai indepartat punct
27 void BFS1()
28 {
2727 44
for(int i = 1; i <= n; ++i) viz[i]=INF;
29
30 viz[1]=1;
2014-2015
31 q.push(1);
32 while(!q.empty())
33 {Hour of Code
34 int x = q.front();
http://www.gorjeanul.ro/pulsul-zilei/hour-of-code-si-la-c-n-t-v#.Ve_cCqDtkoI
35 q.pop();
http://www.gorjeanul.ro/pulsul-zilei/feedback-hour-of-code-la-c-n-t-v#.Ve_cgaDtkoI
36 for(int i = 0; i < v[x].size(); ++i)
37 {
38 The Magic Behind Google
if(viz[x] + 1 < viz[v[x][i]])
39 {
http://www.gorjeanul.ro/pulsul-zilei/de-la-c-n-t-v-la-visul-american-si-inapoi#.VexMO7udIx0
40 viz[v[x][i]] = viz[x] + 1;
41
http://gorjexclusiv.ro/informatician-gorjean-ambasador-google-la-el-acasa/
if(viz[v[x][i]]> Max) Max=viz[v[x][i]],poz=v[x][i];
42 http://www.gorj-domino.ro/tanarul-bogdan-drutu-angajat-la-google-s-a-intors-in-targu-jiu/
q.push(v[x][i]);
43 }
44 Concurs „Lider European”
}
45 }
46 http://www.europacasanoastra.ro/articol/ca%C8%99tigatorii-vizitelor-la-bruxelles-la-comisia-
}
47 europeana-din-cadrul-concursului-de-proiecte-lider-european/4457
//vad diametrul arborelui
48 void BFS2()
49 {
50 for(int i = 1; i <= n; ++i) viz[i]=INF;
51 viz[poz]=1; 2015-2016
52
53 q.push(poz);
54 Max=0;
55 while(!q.empty())
56 {
57 int x=q.front();
58 q.pop();
59 for(int i = 0; i < v[x].size(); ++i)
60 {
61 if(viz[x] + 1 < viz[v[x][i]])
62 {
63 viz[v[x][i]] = viz[x] + 1;
64 if(viz[v[x][i]]> Max) Max=viz[v[x][i]];
65 q.push(v[x][i]);
66 }
67 }
68 }
69 }
70 void afis()
71 {
72 freopen("copaci.out", "w", stdout);
73 //nodurile care sunt pe diametru vor avea costul de eliminare k-1
74 //nodurile care nu apartin diametrului vor avea costul anterior +2
75 // (se parcurge muchia din afara lantului de doua ori)
76 for(int i = 1; i <= Max; ++i) d[i]=i-1;
77 for(int i = Max+1; i <= n; ++i) d[i]=d[i-1]+2;
78 for(int i = 1; i <= m; ++i)
79 {
80 scanf("%d",&k);
81 printf("%d\n",d[k]);
82 }
83 }
84 int main()
85 {
86 citire();
87 BFS1();
88 BFS2();
89 afis();
90 return 0;
91 }
28
44
28
Rezultate olimpiade și concursuri naționale
2014-2015
2014-2015
Hour ofRezultate
Code Olimpiada Națională de Informatică 2015
http://www.gorjeanul.ro/pulsul-zilei/hour-of-code-si-la-c-n-t-v#.Ve_cCqDtkoI
http://www.gorjeanul.ro/pulsul-zilei/feedback-hour-of-code-la-c-n-t-v#.Ve_cgaDtkoI
Nr. crt. Nume Prenume Clasa Prof indrumator Premiul / Medalie
1 MĂRGELOIU ANDREI 11 NODEA EUGEN Premiul II, Medalie aur
2
The Magic Behind Google
COMĂNECI ANDREI 12 NODEA EUGEN Medalie argint
http://www.gorjeanul.ro/pulsul-zilei/de-la-c-n-t-v-la-visul-american-si-inapoi#.VexMO7udIx0
3 CERNĂIANU MIHAI 10 POPESCU SANDA Medalie argint
http://gorjexclusiv.ro/informatician-gorjean-ambasador-google-la-el-acasa/
4 ȘTIUCĂ ROXANA 9 DABELEA OANA Medalie bronz
http://www.gorj-domino.ro/tanarul-bogdan-drutu-angajat-la-google-s-a-intors-in-targu-jiu/
5 SĂVOIU VALENTIN 9 POPESCU SANDA Medalie bronz
6
Concurs
POPESCU
„Lider European”
OCTAVIAN 10 POPESCU SANDA Diplomă participare
http://www.europacasanoastra.ro/articol/ca%C8%99tigatorii-vizitelor-la-bruxelles-la-comisia-
7 POPESCU GEORGE AURELIAN 11 NODEA EUGEN Diplomă participare
europeana-din-cadrul-concursului-de-proiecte-lider-european/4457
8 DABELEA IOANA VIVIANA 6 POPESCU SANDA/DABELEA OANA Diplomă participare
9 BUNGET ANDREEA 6 POPESCU SANDA/BUNGET MIHAI Diplomă participare
2015-2016
Rezultate Olimpiada județeană 2015
Clasa a IX-a
Nr. crt. Nume Prenume Prof indrumator Premiul
1 ȘTIUCĂ ROXANA DABELEA OANA Premiul I
2 SĂVOIU VALENTIN POPESCU SANDA Premiul II
3 CIUREA GABRIEL DABELEA OANA Premiul III
4 TIRIPLICĂ VLAD POPESCU SANDA Mențiune
Clasa a X-a
Nr. crt. Nume Prenume Prof indrumator Premiul
1 POPESCU OCTAVIAN POPESCU SANDA Premiul I
2 CERNĂIANU MIHAI POPESCU SANDA Premiul II
Clasa a XI-a
Nr. crt. Nume Prenume Prof indrumator Premiul
1 MĂRGELOIU ANDREI NODEA EUGEN Premiul I
2 POPESCU GEORGE AURELIAN NODEA EUGEN Premiul III
3 CIOFU ŞERBAN NODEA EUGEN Mențiune
4 TOMA ALEXANDRU NODEA GABRIELA Mențiune
Clasa a XII-a
Nr. crt. Nume Prenume Prof indrumator Premiul
1 COMĂNECI ANDREI NODEA EUGEN Premiul II
2 POGONARU MIHAI GOGA ELENA Premiul III
Clasa a VI-a
Nr. crt. Nume Prenume Prof indrumator Premiul
1 DABELEA IOANA VIVIANA Popescu Sanda, Dabelea Oana Premiul I
2 BUNGET ANDREEA MARIA Popescu Sanda, Bunget Mihai Premiul II
29
29
44
2014-2015
Olimpiada de Tehnologia Informației - faza națională 2015
Nr. crt. Nume Prenume Clasa Prof indrumator Premiul
Hour1 of Code
ENCESCU THEODOR-MIHAI X - TIC POPESCU SANDA Medalie bronz
http://www.gorjeanul.ro/pulsul-zilei/hour-of-code-si-la-c-n-t-v#.Ve_cCqDtkoI
http://www.gorjeanul.ro/pulsul-zilei/feedback-hour-of-code-la-c-n-t-v#.Ve_cgaDtkoI
Olimpiada de Tehnologia Informației - faza județeană 2015
The Magic
Nr. crt. Behind
Nume Google
Prenume Clasa Prof indrumator Premiul
http://www.gorjeanul.ro/pulsul-zilei/de-la-c-n-t-v-la-visul-american-si-inapoi#.VexMO7udIx0
1 DAMINESCU MIHAI ADRIAN IX -TIC DABELEA OANA Premiul III
http://gorjexclusiv.ro/informatician-gorjean-ambasador-google-la-el-acasa/
2 ENCESCU THEODOR-MIHAI X - TIC POPESCU SANDA Premiul I
http://www.gorj-domino.ro/tanarul-bogdan-drutu-angajat-la-google-s-a-intors-in-targu-jiu/
3 MÎNDRUȚ RALUCA XII – C# GOGA ELENA Premiul II
Concurs
4 „Lider
VINTILĂ European”
ROBERT FLORIN X – C# POPESCU SANDA Premiul III
http://www.europacasanoastra.ro/articol/ca%C8%99tigatorii-vizitelor-la-bruxelles-la-comisia-
Concursul interjudețean Info-Oltenia 2015 (Râmnicu Vâlcea)
europeana-din-cadrul-concursului-de-proiecte-lider-european/4457
Nr. crt. Nume elev Clasa Prof indrumator Premiul
1 Popescu George Aurelian a XI-a Nodea Eugen Premiul I, individual
2 2015-2016
Popescu George Aurelian a XI-a Nodea Eugen Premiul II, echipaj
3 Comăneci Andrei a XII-a Nodea Eugen Premiul II, echipaj
4 Mărgeloiu Andrei a XI-a Nodea Eugen Mențiune, individual
5 Știucă Roxana a IX-a Dabelea Oana Mențiune, individual
6 Simionescu Ana a IX-a Dabelea Oana Mențiune, individual
7 Știucă Roxana a IX-a Dabelea Oana Mențiune, echipaj
8 Popescu Octavian a X-a Popescu Sanda Mențiune, echipaj
http://olimpiada.info/
http://oni2015.isj-db.ro/
http://onigim2015.cngmm.ro/
http://ciaro.ro/oti/anc/index.php
30
44 30
2014-2015
VI. Gânduri, pasiuni, experienţe …
Hour of Code
Despre cum am scris Software, cu Litere
http://www.gorjeanul.ro/pulsul-zilei/hour-of-code-si-la-c-n-t-v#.Ve_cCqDtkoI
http://www.gorjeanul.ro/pulsul-zilei/feedback-hour-of-code-la-c-n-t-v#.Ve_cgaDtkoI
31
44
31
C.N.T.V. la competiţia studenţească
2014-2015de robotică de la Craiova
Prof. Gabriela Nodea
Hour of Code
http://www.gorjeanul.ro/pulsul-zilei/hour-of-code-si-la-c-n-t-v#.Ve_cCqDtkoI
http://www.gorjeanul.ro/pulsul-zilei/feedback-hour-of-code-la-c-n-t-v#.Ve_cgaDtkoI
void in_circle()
void manual_calibration() {
{ //folosim acesta functie pentru a
//se calibreaza senzorii intra in cerc si pentru obstacolul cu
int i; linia intrerupta
for (i = 0; i < 250; i++) int i,time=0;
{ unsigned int sensors[4];
while(time<200)
qtrrc.calibrate(QTR_EMITTERS_ON); {
delay(20); int
} poz=qtrrc.readLine(sensors);
} for(i=0;i<4;i++)
leftMotorSpeed=M1_DEFAULT_SPEED+motorSp qtrrc.readLine(sensors);
eed; //determinam eroare fata de pozitia
Hour of Code
rightMotorSpeed=M2_DEFAULT_SPEED- centrala
motorSpeed; int error = position - 1500;
http://www.gorjeanul.ro/pulsul-zilei/hour-of-code-si-la-c-n-t-v#.Ve_cCqDtkoI
//stabilim variatia vitezei in
http://www.gorjeanul.ro/pulsul-zilei/feedback-hour-of-code-la-c-n-t-v#.Ve_cgaDtkoI
funtie de raza curbei
adjust_speed(leftMotorSpeed,rightMotorS int motorSpeed=KP*error+KD*(error-
peed); The Magic Behind Google lastError);
lastError=error;
http://www.gorjeanul.ro/pulsul-zilei/de-la-c-n-t-v-la-visul-american-si-inapoi#.VexMO7udIx0
go(leftMotorSpeed,rightMotorSpeed); int i,x,k=0;
}http://gorjexclusiv.ro/informatician-gorjean-ambasador-google-la-el-acasa/
//determinam numarul senzorilor
aflati pe "negru"
http://www.gorj-domino.ro/tanarul-bogdan-drutu-angajat-la-google-s-a-intors-in-targu-jiu/
void setup() for(i=0;i<4;i++)
{ Concurs „Lider European”
//declaram modul de folosire al
if(sensors[i]>SENSIBILITY)
k++;
pinilor pentru motoare else
http://www.europacasanoastra.ro/articol/ca%C8%99tigatorii-vizitelor-la-bruxelles-la-comisia-
pinMode(MOTOR1_PIN1, OUTPUT);
europeana-din-cadrul-concursului-de-proiecte-lider-european/4457 x=i;
pinMode(MOTOR1_PIN2, OUTPUT); //in functie de numarul senzorilor
pinMode(MOTOR2_PIN1, OUTPUT); aflati pe "negru" hotaram ce functie
pinMode(MOTOR2_PIN2, OUTPUT); apelam
delay(1000); 2015-2016 if(k==0)
in_circle();
manual_calibration(); else
} if(k==3)
out_circle(x);
int lastError = 0; else
void loop() forward(motorSpeed);
{ }
unsigned int sensors[4];
Calculatorul în activităţile de zi cu zi
ale serviciului secretariat
Burlan Ioana, secretar şef
Colegiul Naţional ”Tudor Vladimirescu”
Cerinţă
Cunoscând numărul de linii, numărul de coloane, şi pătrăţelele în care se găsesc picături unitate precum şi
direcţia acestora, să se determine numărul coloanei corespunzătoare minipaharului în care cade cea mai
mare picătură, numărul coloanei minipaharului cel mai plin şi numărul maxim de picături unitate ce intră în
sticlă respectând regulile din enunţ.
Date de intrare
Fişierul de intrare rain.in conţine pe prima linie trei numere naturale, separate printr-un singur spaţiu, N, M
şi P. Pe următoarele N linii sunt M numere separate printr-un singur spaţiu reprezentând codul mişcării
picăturii unitate sau 0 dacă nu există picătură unitate.
Date de ieşire
Fişierul de ieşire rain.out conţine pe prima linie două numere naturale, separate printr-un singur spaţiu,
reprezentând numărul coloanei corespunzătoare minipaharului în care cade picătura cea mai mare şi
respectiv numărul coloanei corespunzătoare minipaharului cel mai plin. Pe a doua linie se va afişa numărul
maxim de picături unitate din sticlă, respectând regulile din enunţ.
Restricţii
• 2 ≤ N, M ≤ 500
• 3 ≤ P ≤ 1000
• Minipaharele sunt suficient de mari pentru a aduna toate picăturile ce cad de pe acea coloană.
• Pentru primele două cerinţe se vor afişa coloanele cu indicele cel mai mic, în caz de egalitate.
35
44
35
Exemplu 2014-2015
rain.in rain.out Explicații
335 11 În prima secundă, în cele trei minipahare cad picăturile de pe ultima
203
Hour 4
of Code linie, iar picăturile de pe celelate linii coboară o linie. În cea de-a doua
http://www.gorjeanul.ro/pulsul-zilei/hour-of-code-si-la-c-n-t-v#.Ve_cCqDtkoI
secundă cad în toate minipaharele câte o picătură, iar picăturile de pe
131
http://www.gorjeanul.ro/pulsul-zilei/feedback-hour-of-code-la-c-n-t-v#.Ve_cgaDtkoI
linia 2 cad pe linia 3, picăturile aflate iniţial pe coloanele 1 şi 3 se
231
unifica în poziţia 3,1. Apoi singura picătură de pe ultima linie alcătuită
The Magic Behind din cele 2 Google
picături unitate cade în minipaharul 1.
Aşadar în minipaharul 1 cade şi cea mai mare picătură formată din 2
http://www.gorjeanul.ro/pulsul-zilei/de-la-c-n-t-v-la-visul-american-si-inapoi#.VexMO7udIx0
picături unitate şi este şi cel mai plin minipahar, minipaharele având 4,
http://gorjexclusiv.ro/informatician-gorjean-ambasador-google-la-el-acasa/
2 şi 2 picături.
http://www.gorj-domino.ro/tanarul-bogdan-drutu-angajat-la-google-s-a-intors-in-targu-jiu/
Numărul maxim de picături din sticlă este 4, golind fie minipaharul 1,
Concurs „Lider European”
fie minipaharele 2 şi 3.
http://www.europacasanoastra.ro/articol/ca%C8%99tigatorii-vizitelor-la-bruxelles-la-comisia-
Soluția 1 (60 puncte)
europeana-din-cadrul-concursului-de-proiecte-lider-european/4457
1 # include <fstream>
2 using namespace std;
3
4
ifstream f("rain.in");
ofstream g("rain.out");
2015-2016
5 int n,m,i,j,l,k,maxi,best,x,y,p,d,a[501][501],b[501][501],c[501];
6 short dy[]={-1,0,1};
7 bool ok,v[1001];
8 int main()
9 {
10 f>>n>>m>>p;
11 for(i=1;i<=n;i++)
12 for(j=1;j<=m;j++)
13 {
14 f>>b[i][j];
15 if(b[i][j])
16 a[i][j]=1;
17 }
18 for(i=2;i<=n;i++)
19 {
20 if(b[n-1][1]==3)
21 b[n-1][1]=2;
22 if(b[n-1][m]==1)
23 b[n-1][m]=2;
24 for(j=1;j<=m;j++)
25 {
26 c[j]+=a[n][j];
27 if(a[n][j]>maxi)
28 {
29 maxi=a[n][j];
30 x=j;
31 }
32 else
33 if(a[n][j]==maxi&&j<x)
34 x=j;
35 if(c[j]>best)
36 {
37 best=c[j];
38 y=j;
39 }
40 else
41 if(c[j]==best&&j<y)
42 y=j;
43 a[n][j]=0;
44 for(k=0;k<3;k++)
36
4436
45 if(j+dy[k]&&j+dy[k]<=m&&a[n-1][j+dy[k]]&&b[n-1][j+dy[k]]==k+1)
46 2014-2015
a[n][j]+=a[n-1][j+dy[k]];
47 }
48 for(l=n-1;l>=i;l--)
49 Hour of Code {
50 if(b[l-1][1]==3)
http://www.gorjeanul.ro/pulsul-zilei/hour-of-code-si-la-c-n-t-v#.Ve_cCqDtkoI
51 b[l-1][1]=2;
52 http://www.gorjeanul.ro/pulsul-zilei/feedback-hour-of-code-la-c-n-t-v#.Ve_cgaDtkoI
if(b[l-1][m]==1)
53 b[l-1][m]=2;
54
55
The Magic Behind Google
for(j=1;j<=m;j++)
{
56 http://www.gorjeanul.ro/pulsul-zilei/de-la-c-n-t-v-la-visul-american-si-inapoi#.VexMO7udIx0
a[l][j]=d=0;
57 for(k=0;k<3;k++)
http://gorjexclusiv.ro/informatician-gorjean-ambasador-google-la-el-acasa/
58 if(j+dy[k]&&j+dy[k]<=m&&a[l-1][j+dy[k]]&&b[l-1][j+dy[k]]==k+1)
http://www.gorj-domino.ro/tanarul-bogdan-drutu-angajat-la-google-s-a-intors-in-targu-jiu/
59 {
60
61
Concurs „Lider European” a[l][j]+=a[l-1][j+dy[k]];
if(a[l-1][j+dy[k]]>d)
62 {
http://www.europacasanoastra.ro/articol/ca%C8%99tigatorii-vizitelor-la-bruxelles-la-comisia-
63 d=a[l-1][j+dy[k]];
europeana-din-cadrul-concursului-de-proiecte-lider-european/4457
64 b[l][j]=b[l-1][j+dy[k]];
65 }
66 }
67
68 }
} 2015-2016
69 }
70 for(i=1;i<=m;i++)
71 {
72 c[i]+=a[n][i];
73 if(a[n][i]>maxi)
74 {
75 maxi=a[n][i];
76 x=i;
77 }
78 else
79 if(a[n][i]==maxi&&i<x)
80 x=i;
81 if(c[i]>best)
82 {
83 best=c[i];
84 y=i;
85 }
86 else
87 if(c[i]==best&&i<y)
88 y=i;
89 }
90 g<<x<<" "<<y<<'\n';
91 v[0]=1;maxi=ok=0;
92 for(i=1;i<=m&&!ok;i++)
93 for(j=p;j>=c[i]&&!ok;j--)
94 if(v[j-c[i]])
95 {
96 v[j]=1;
97 if(j>maxi)
98 {
99 maxi=j;
100 if(maxi==p)
101 ok=1;
102 }
103 }
104 g<<maxi;
105 f.close();
106 g.close();
107 return 0;
108 }
3737
44
Descrierea soluţiei 1 (60 puncte): 2014-2015
Prin parcurgeri repetate ale matricei de la ultima linie a matricei până la penultima linie ce poate avea
picături (observăm că treptat linile se golesc), obţinem numărul de picături ce cad la un anumit moment în
Hour
fiecare minipahar of Code
și noua configurație a picăturilor. La fiecare parcurgere tratăm special ultima linie din care
golimhttp://www.gorjeanul.ro/pulsul-zilei/hour-of-code-si-la-c-n-t-v#.Ve_cCqDtkoI
în minipahare, iar apoi pentru fiecare pătrat stabilim, căutând în cele 3 direcţii, picătura existentă
acolohttp://www.gorjeanul.ro/pulsul-zilei/feedback-hour-of-code-la-c-n-t-v#.Ve_cgaDtkoI
în următoarea configurație. După ce avem numărul de picături din fiecare pahar şi afişăm numărul
maxim de picături unitate dintr-o picătură ce cade într-un minipahar şi minipaharul cel mai plin,
determinăm numărul maxim de picături din sticlă: pentru fiecare pahar marcăm cu 1 sumele ce pot fi
obţinute din The
sumeleMagic Behind
deja existente Google
şi acel pahar, mai mici decât P.
http://www.gorjeanul.ro/pulsul-zilei/de-la-c-n-t-v-la-visul-american-si-inapoi#.VexMO7udIx0
http://gorjexclusiv.ro/informatician-gorjean-ambasador-google-la-el-acasa/
Soluția 2(100 puncte)
1 http://www.gorj-domino.ro/tanarul-bogdan-drutu-angajat-la-google-s-a-intors-in-targu-jiu/
# include <fstream>
2 using namespace std;
3 ifstream f("rain.in");
Concurs „Lider European”
4 ofstream g("rain.out");
int n,m,i,j,l,k,maxi,best,x,y,p,d,t,p1,a[501][501],b[501][501],c[501];
5 http://www.europacasanoastra.ro/articol/ca%C8%99tigatorii-vizitelor-la-bruxelles-la-comisia-
short dy[]={-1,0,1};
6 europeana-din-cadrul-concursului-de-proiecte-lider-european/4457
7 bool ok,v[1001];
8 int main()
9 {
10
11
f>>n>>m>>p1;
for(i=1;i<=n;i++)
2015-2016
12 for(j=1;j<=m;j++)
13 {
14 f>>b[i][j];
15 if(b[i][j])
16 a[i][j]=1;
17 }
18 for(i=1;i<=n;i++)
19 {
20 for(j=1;j<=m;j++)
21 {
22 c[j]+=a[n][j];
23 if(a[n][j]>maxi)
24 {
25 maxi=a[n][j];
26 x=j;
27 }
28 else
29 if(a[n][j]==maxi&&j<x)
30 x=j;
31 if(c[j]>best)
32 {
33 best=c[j];
34 y=j;
35 }
36 else
37 if(c[j]==best&&j<y)
38 y=j;
39 a[n][j]=b[n][j]=0;
40 }
41 for(j=n-1;j>=i;j--)
42 {
43 p=d=t=0;
44 if(b[j][1]==3)
45 b[j][1]=2;
46 if(b[j][m]==1)
47 b[j][m]=2;
48 for(l=1;l<=m;l++)
49 {
50 if(b[j][l]==1)
3838
44
51 { 2014-2015
52 a[j+1][l+1]+=a[j][l];
53 t=a[j][l];
54
55
Hour of Code }
b[j+1][l+1]=b[j][l];
56 http://www.gorjeanul.ro/pulsul-zilei/hour-of-code-si-la-c-n-t-v#.Ve_cCqDtkoI
else
if(b[j][l]==2)
57 http://www.gorjeanul.ro/pulsul-zilei/feedback-hour-of-code-la-c-n-t-v#.Ve_cgaDtkoI
58 {
59
60
The Magic Behind Google a[j+1][l]+=a[j][l];
if(a[j][l]>d)
61 http://www.gorjeanul.ro/pulsul-zilei/de-la-c-n-t-v-la-visul-american-si-inapoi#.VexMO7udIx0
{
62 http://gorjexclusiv.ro/informatician-gorjean-ambasador-google-la-el-acasa/
d=a[j][l];
63 http://www.gorj-domino.ro/tanarul-bogdan-drutu-angajat-la-google-s-a-intors-in-targu-jiu/
b[j+1][l]=b[j][l];
64 }
65 }
66 Concurs „Lider European”else
67 http://www.europacasanoastra.ro/articol/ca%C8%99tigatorii-vizitelor-la-bruxelles-la-comisia-
{
68 a[j+1][l-1]+=a[j][l];
69 europeana-din-cadrul-concursului-de-proiecte-lider-european/4457
if(a[j][l]>p)
70 b[j+1][l-1]=b[j][l];
71 }
72
73
p=d;
d=t;
2015-2016
74 t=0;
75 a[j][l]=0;
76 b[j][l]=0;
77 }
78 }
79 }
80 g<<x<<" "<<y<<'\n';
81 p=p1;
82 v[0]=1;maxi=ok=0;
83 for(i=1;i<=m&&!ok;i++)
84 for(j=p;j>=c[i]&&!ok;j--)
85 if(v[j-c[i]])
86 {
87 v[j]=1;
88 if(j>maxi)
89 {
90 maxi=j;
91 if(maxi==p)
92 ok=1;
93 }
94 }
95 g<<maxi;
96 f.close();
97 g.close();
98 return 0;
99 }
100
Folosim parcurgerile repetate ale matricei astfel: golim picăturile de pe ultima linie şi de la penultima linie a
matricei până la ultima linie ce poate avea picături, stabilim poziţia viitoare a picăturii din fiecare pătrăţel.
Această abordare deşi foloseşte aceleaşi parcurgeri repetate ca şi prima soluţie este mai eficientă datorită
realizării matricei picăturilor doar din parcurgere, fără a fi nevoie şi de căutarea în cele 3 direcţii. Stabilirea
numărului maxim de picături se face ca şi în prima soluţie.
39
44
39
2014-2015
VIII. Informatică DAR ... nu numai!
Hour of Code
Top 10 StartUp-uri ce trebuie urmărite în 2015
http://www.gorjeanul.ro/pulsul-zilei/hour-of-code-si-la-c-n-t-v#.Ve_cCqDtkoI
http://www.gorjeanul.ro/pulsul-zilei/feedback-hour-of-code-la-c-n-t-v#.Ve_cgaDtkoI
10. Fyusion
Compania Fyusion, fondată de cercetătorul român
Radu Rusu, doctorand al facultății din Munchen, își
propune să îmbunătățească tehnologia imaginilor
3D și să o facă accesibilă oricui. Un prim pas a fost
făcut prin lansarea aplicației Fyuse, aplicație ce
permite oricărui smartphone să facă fotografii
panoramice 360, pe care să le poată încărca
ulterior într-o rețea de utilizatori ai aplicației.
Deși valoreaza doar 15 milioane USD, sumă mică
față de alte companii, am inclus-o in top deoarece
are un potențial enorm. Mulți specialiști consideră
că, dacă va fi condusă inteligent, va deveni noul standard în materie de fotografii și socializare, depășind chiar
celebrul Instagram.
9. Spring
Când spui Spring, spui, de fapt, o nouă modalitate de a
face shopping online. Fondată de David și Alan Tisch,
compania își propune să facă accesibile cumpărătorilor
diverse accesorii și articole vestimentare, prin
intermediul unei aplicații pentru mobil.
Startup-ul se află abia la început, dar a reușit deja să
ajungă la o valoare de 25 milioane USD foarte repede.
Ținând cont de dimensiunile industriei vestimentare și de
dorința oamenilor de avea acces ușor la diverse articole,
compania are un viitor promițător.
40
4440
2014-2015
8. Coinbase
Hour
Coinbase a ținut contof
de Code
noul trend pe piața monetară:
ascensiunea monedei virtuale, bitcoin. Astfel, compania
http://www.gorjeanul.ro/pulsul-zilei/hour-of-code-si-la-c-n-t-v#.Ve_cCqDtkoI
fondată de Brian Armstrong și Fred Ehrsam a venit în
http://www.gorjeanul.ro/pulsul-zilei/feedback-hour-of-code-la-c-n-t-v#.Ve_cgaDtkoI
2012 cu un portofel virtual prin care oamenii pot utiliza
The Magic
foarte ușor monedele bitcoin. Behind Google
http://www.gorjeanul.ro/pulsul-zilei/de-la-c-n-t-v-la-visul-american-si-inapoi#.VexMO7udIx0
Situată in San Francisco, compania a ajuns la o valoare de
150 http://gorjexclusiv.ro/informatician-gorjean-ambasador-google-la-el-acasa/
milioane USD și are o perspectivă enormă pe piața
monetară, datorită tendinței de creștere a bitcoin.
http://www.gorj-domino.ro/tanarul-bogdan-drutu-angajat-la-google-s-a-intors-in-targu-jiu/
6. Stripe
Fondată de frații irlandezi Patrick și John Collison, Stripe își propune să
creeze un sistem de plată online între firme și persoane, într-o manieră
mult mai securizată decât clasicul PayPal.
Poate de aceea, compania a reușit să ajungă la o valoare de 3.57 miliarde
USD, iar, în scurt timp, este estimat că va ajunge la 5 miliarde. Deci, în
viitor, s-ar putea ca Stripe să fie principala metodă de plată online.
5. Square
Compania a fost fondată în 2009 de Jack Dorsey și Jim McKelvey și iși propune
să ușureze plățile virtuale printr-o nouă modalitate de citire a cardurilor. Prin
intermediul unui device nou, Square permite plata prin card cu ajutorul
oricărui smartphone.
În octombrie 2014, startup-ul a fost evaluat la 6 miliarde USD și specialiștii
consideră că va crește mai mult în lunile ce urmează.
41
41
44
2014-2015
4. Pinterest
Hour
Pinterest a fost unul of Code
dintre cele mai accesate site-uri din 2015,
http://www.gorjeanul.ro/pulsul-zilei/hour-of-code-si-la-c-n-t-v#.Ve_cCqDtkoI
ocupând în luna aprilie locul 37 la nivel mondial. Cu toate că pare
http://www.gorjeanul.ro/pulsul-zilei/feedback-hour-of-code-la-c-n-t-v#.Ve_cgaDtkoI
o cifră impresionantă, aceasta este chiar mai slabă decât cea
înregistrată în 2014 de aceeași companie.
Acest lucru Thepoate Magic Behind
sugera o oarecare Google
plafonare a site-ului, ce
permite distribuirea de fotografii, la nivelul de 11 miliarde USD, o
http://www.gorjeanul.ro/pulsul-zilei/de-la-c-n-t-v-la-visul-american-si-inapoi#.VexMO7udIx0
cifrăhttp://gorjexclusiv.ro/informatician-gorjean-ambasador-google-la-el-acasa/
mare, totuși.
CEO-ul, Ben Silbermann, spune că are pregătite noi surprize ce
http://www.gorj-domino.ro/tanarul-bogdan-drutu-angajat-la-google-s-a-intors-in-targu-jiu/
urmează să ducă compania fondată cu 5 ani în urmă pe noi culmi.
Concurs „Lider European”
3. Snapchat
http://www.europacasanoastra.ro/articol/ca%C8%99tigatorii-vizitelor-la-bruxelles-la-comisia-
europeana-din-cadrul-concursului-de-proiecte-lider-european/4457
Probabil acest nume este cunoscut multora din voi, întrucât Snapchat a
devenit o aplicație virală în anul 2014. Aplicația de mesagerie instant își
2015-2016
propune transmiterea de imagini între utilizatori, acestea fiind stocate însă
temporar pentru a asigura o metodă mai distractivă de comunicare. Compania
a refuzat în mod inspirat oferte de 3, respectiv 4 miliarde de USD de la
Facebook și Google, ajungând să aibă o valoare de 4 ori mai mare.
Fondată în 2011 de Evan Spiegel și câțiva prieteni din facultate, compania a
avut un început ezitant, dar a ajuns probabil cea mai mare surpriză a anului trecut și cu siguranță este compania
cu cea mai mare creștere. Deși ocupă doar locul 3 in acest top cu o valoare de 15 miliarde USD, aplicația are cu
siguranță un viitor strălucit.
2. Uber
Fenomenul Uber a început în 2009 când Travis Kalanick a dorit să realizeze o
firmă de transport la nivel mondial. Și a reușit acest lucru fără doar și poate.
Astfel, Uber pune la dispoziția clienților diverse mijloace de transport, de la
mașini la elicoptere, toate putând fi închiriate prin aplicația facută pentru
smartphone.
Compania a ajuns la un nivel uluitor de 40 miliarde USD, iar graficele arată că
a avut în primii 6 ani de la lansare o creștere mai mare decât legendarul
Facebook. Mai mult, aplicația a ajuns deja să ofere servicii în 58 de țări, cifră impresionantă ținând cont de
numărul de vehicule ce au trebuit să fie cumpărate în acest sens.
1. Xiaomi
Ei bine, am ajuns și la ocupantul locului întâi, compania chineză Xiaomi. Deși un
nume poate necunoscut, compania a avut un impact major pe piață prin
contruirea de smartphone-uri performante și mult mai ieftine decât cele ale
concurenței.
Fondată de Lei Jun și având sediul în Beijing, China, compania a ajuns în doar 4
ani la o cifra de 45 miliarde USD ca valoare și, deși nu se poate compara încă cu
giganții Apple și Samsung, în acest ritm poate deveni o concurență serioasă sau
chiar liderul mondial pe piața de smartphone-uri.
42
4442
Companiile pe care vi le-am prezentat reprezintă mari speranțe ale industriei IT, ce vor ajunge în scurt timp să
2014-2015
rivalizeze cu giganții de pe piață. Cine știe? Poate că în câțiva ani aceste startup-uri vor reprezenta companiile
cheie ale IT-ului, luând locul Twitter-ului sau al Apple-ului. Totuși, mai e mult până departe și e nevoie și de puțin
noroc. Hour of Code
http://www.gorjeanul.ro/pulsul-zilei/hour-of-code-si-la-c-n-t-v#.Ve_cCqDtkoI
Site-uri utile
http://www.gorjeanul.ro/pulsul-zilei/feedback-hour-of-code-la-c-n-t-v#.Ve_cgaDtkoI
https://www.bento.io/
The Magic Behind Google
https://www.codeschool.com/
http://www.gorjeanul.ro/pulsul-zilei/de-la-c-n-t-v-la-visul-american-si-inapoi#.VexMO7udIx0
https://codecombat.com/
http://gorjexclusiv.ro/informatician-gorjean-ambasador-google-la-el-acasa/
http://www.codecademy.com/
http://www.gorj-domino.ro/tanarul-bogdan-drutu-angajat-la-google-s-a-intors-in-targu-jiu/
https://hotpot.uvic.ca/
http://www.codecademy.com/learn/learn-angularjs
Concurs „Lider European”
https://www.moodle.ro/
https://hourofcode.com/ro
http://www.europacasanoastra.ro/articol/ca%C8%99tigatorii-vizitelor-la-bruxelles-la-comisia-
http://varena.ro/
europeana-din-cadrul-concursului-de-proiecte-lider-european/4457
http://www.pbinfo.ro/
http://www.infoarena.ro/
2015-2016
https://sites.google.com/site/cntvtgjiu/
Autorii articolelelor sunt profesori, actuali și foști elevi ai Colegiului Național ”Tudor Vladimirescu”
43
43
44
2014-2015
2014-2015
Hour of Code
Hour of Code
http://www.gorjeanul.ro/pulsul-zilei/hour-of-code-si-la-c-n-t-v#.Ve_cCqDtkoI
http://www.gorjeanul.ro/pulsul-zilei/hour-of-code-si-la-c-n-t-v#.Ve_cCqDtkoI
http://www.gorjeanul.ro/pulsul-zilei/feedback-hour-of-code-la-c-n-t-v#.Ve_cgaDtkoI
http://www.gorjeanul.ro/pulsul-zilei/feedback-hour-of-code-la-c-n-t-v#.Ve_cgaDtkoI
The Magic Behind Google
The Magic Behind Google
http://www.gorjeanul.ro/pulsul-zilei/de-la-c-n-t-v-la-visul-american-si-inapoi#.VexMO7udIx0
http://www.gorjeanul.ro/pulsul-zilei/de-la-c-n-t-v-la-visul-american-si-inapoi#.VexMO7udIx0
http://gorjexclusiv.ro/informatician-gorjean-ambasador-google-la-el-acasa/
http://gorjexclusiv.ro/informatician-gorjean-ambasador-google-la-el-acasa/
http://www.gorj-domino.ro/tanarul-bogdan-drutu-angajat-la-google-s-a-intors-in-targu-jiu/
http://www.gorj-domino.ro/tanarul-bogdan-drutu-angajat-la-google-s-a-intors-in-targu-jiu/
Concurs „Lider European”
Concurs „Lider European”
http://www.europacasanoastra.ro/articol/ca%C8%99tigatorii-vizitelor-la-bruxelles-la-comisia-
http://www.europacasanoastra.ro/articol/ca%C8%99tigatorii-vizitelor-la-bruxelles-la-comisia-
europeana-din-cadrul-concursului-de-proiecte-lider-european/4457
europeana-din-cadrul-concursului-de-proiecte-lider-european/4457
2015-2016
2015-2016
44
44
44