                                       PROBLEME DATE LA ETAPA JUDEEANZ
                                                     1995

Judeul Alba:

             Clasa a IX-a:

             1. (O sama de cuvinte) Se da o propozitie formata din cel mult 255 litere mici din alfabet
('a'..'z') si caracterul spatiu.
  a) Sa se gaseasca cea mai lunga secventa in care literele sa fie ordonate
alfabetic.
  b) Sa se gaseasca cea mai lunga secventa de caractere "simetrice", din
text, din cel putin doua caractere. ("simetrice"=au aceeasi forma citite de
la stanga la dreapta si de la dreapta spre stanga).

             2. "Legea fondului funciar simplificata"
 Un teren de forma dreptunghiulara (NxM) este parcelat in patrate de latura 1.
Mai multi cetateni, viitori proprietari ai terenurilor, construiesc la
intamplare garduri pe cate o latura a unui patrat oarecare. Daca se dau
pozitiile gardurilor construite se cere sa se determine numarul parcelelor
de forma patrata complet imprejmuita, in functie de lungimea laturilor lor.
  Exemplu:
  Pentru un teren de dimensiune 3x5
  ._._._._._.
  |  _|_|_._|
  |_|_| |_| |
  . . |_._|_|

  exista:
  3 parcele de latura 1
  2 parcela de latura 2
  1 parcela de latura 3

             Clasa a X-a:
Problema1. "Doi Banditi"
  Dupa un jaf facut la o banca, cei doi banditi urmeaza sa imparta in mod
egal suma de bani. Stiind ca toti banii sunt in saculeti, iar in fiecare
saculet suma Si (i=1,n), va rugam sa-i ajutati pe cei doi banditi sa imparta
frateste banii. Cele doua grupe formate vor contine fiecare numarul
saculetului si respectiv suma din saculetul respectiv.
 Daca banii nu se pot imparti in mod egal se va afisa mesajul "DUCEM BANII
INAPOI".
 Exemplu:
 n=8
 sirul Si este:
 1,3,2,2,4,2,1,3
 o posibilitate este
 bandit 1: sac     : 3, 4, 5, 7
                continut: 2, 2, 4, 1
 bandit 2: sac     : 1, 2, 6, 8
           continut: 1, 3, 2, 3

Problema2. " I se spunea Buldozerul"
 Un teren de forma dreptunghiulara (NxM) este presarat de musuroaie si
locuri netede, patrate de aceeasi dimensiune, aliniate pe orizontala si
verticala. Un buldozer trebuie plasat pe un loc neted si are misiunea de a
nivela terenul. Acesta se poate deplasa respectand urmatoarele restrictii:
- trece dintr-un loc neted peste musuroiul de langa el pe un alt loc neted.
- nu se poate deplasa peste un loc neted.
- se deplaseaza doar pe directiile N, S, E, V.
 Sa se gaseasca un loc de unde poate porni buldozerul si drumul pe care
trebuie sa-l parcurga pentru a nivela intrega suprafata.
 Daca acest lucru nu este posibil se va afisa mesajul
  "NU I SE MAI SPUNE BULDOZERUL!".

 Exemplu:
 1) N=3, M=4
 Terenul este dat sub forma unei matrici de forma:
 0 0 0 0                              Unde 0 teren neted
 0 1 0 1                                     1 musuroi
 0 0 1 0
 Porneste din punctul (1,2) pe ruta (3,2)-(3,4)-(1,4)
 2) N=3, M=3
 0 0 0
 1 1 0
 1 0 0
 "NU I SE MAI SPUNE BULDOZERUL!"

Cls.XI
Problema1."Rubedenii"
  La o petrecere sunt n invitati, numerotati de la 1 la n. Intre invitati
exista relatii de rudenie de doua tipuri:
             - de tipul 1 - relatie de casatorie;
             - de tipul 2 - relatie parinte-fiu (nu are importanta cine este
parintele si cine este fiul).
  Daca i se afla intr-o relatie cu j, atunci si j se afla in aceeasi relatie
cu i, dar aceasta relatie se introduce o singura data.
  a) Sa se verifice daca relatiile de casatorie sunt bine introduse, adica
nu exista persoane casatorite cu mai mult de o persona;
  b) Sa se determine familiile prezente la petrecere. Doua persoane fac
parte din aceeasi familie daca exista o relati de rudenie intre ele.
Relatiile 1 si 2 sunt relatii de rudenie. Daca i este ruda cu j, iar j este
ruda cu k, atunci i si k sunt rude.
  Datele de intrare se afla intr-un fisier de forma din exemplu:
7
1 2 1
1 3 2
3 4 1
5 6 2
6 7 1
 unde pe prima linie este n, iar pe urmatoarele relatiile (primele doua
numere reprezinta invitatii, iar la treilea tipul relatiei)
 Rezultatele se vor afisa pe ecran
 In exemplu nostru
 a) relatiile sunt bine introduse.
 b) exista 2 famili: (1,2,3,4) si (5,6,7)
 
Problema2. "Imagini"
  Se da fotografia (NxM), alb negru, a unui obiect. Sa se gaseasca o imagine
de forma dreptunghiulara de arie maxima, cu proprietatea ca asezand aceste
imagini sau imaginile obtinute prin rotirea, spre dreapta, acesteia cu 
90,180,270 grade, sa genereze figura din fotografie fara a suprapune 
imaginile generatoare.Imaginea trebuie obtinuta din minim 2 astfel de imagini.
Datele se introduc intr-un fisier text sub forma:
 n
 m
 a(1,1) a(1,2) .. a(1,m)
 ....
 a(n,1) a(n,2) .. a(n,m)
unde a(i,j) sunt 0 sau 1 (alb, negru)

Exemplu:
6
8
0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0
0 1 1 0 1 1 0 0
0 0 1 1 1 0 0 0 
0 0 0 1 1 0 0 0
0 0 0 0 1 1 0 0
 Poate fi generata de matrice: 0 1     
                               1 1
 si imaginile ei prin rotirea cu 90,180,270 grade.
P.S. Bucatile se afla in pozitiile (se da coltul din stanga sus):
     a(2,2) "normal"
     a(4,3) "rotit cu 270"
     a(3,5) "rotit cu 180"
     a(5,5) "rotit cu 90"

Cls. XII
Problema1. "Si iar .. matematica"
  Se dau doua expresii matematice care contin variabile de o singura litera,
paranteze si legile * si +, adunarea si imultitea numerelor reale.
  a) Sa se verifice daca expresiile sunt echivalente pentru orice valori
reale ale variabilelor.
  b) Daca expresile nu sunt echivalente sa se incerce, daca este posibil o
parantezare astfel incat expresiile sa devina echivalente.
   Datele de intrare se citesc dintr-un fisier text pe cate doua linii
separate printr-un rand gol. Rezultatul se afiseaza pe ecran.

 Exemplu:
   a*(a+b)
   a*a+a*b

   a+(b*a)+b
   a*a+a*b+a*b+b*b
 Rezultate:
 a) Sunt echivalente

 a) Nu sunt echivalente
 b) (a+b)*(a+b)
    a*a+a*b+a*b+b*b

Problema2. "Furtuna la Consanta"
  Un vas aflat in portul Constanta este compartimentat in 4 zone. Fiecare
zona este la randul ei compartimentata in K(i), i=1,4 compartimente, fiecare
cu o capacitate C(i,j), i=1,4; j=1,k(i). In port astepta pentru a fi
incarcate vagoane de diverse capacitati, date sub forma unei matrici V(i,j),
i=1,2; j=1,2, i=1,j=1,2 unde V(i,1)=capacitatea vagonului, iar
V(i,2)=numarul vagoanelor de acea capacitate.
 Datorita furtunii care va veni nava trebuie incarcata in asa fel incat 
in fiecare din cele 4 zone se fie de aceleasi cantitati, nu neaparat vagoane 
identice. Se cere sa se afiseze o distributie astfel incat cantitatea totala
incarcata sa fie maxima.
 Datele de intrare se dau intr-un fisier text de forma:
 K(1)
 C(1,1) C(1,2) .. C(1,K(1))
 K(2)
 C(1,1) C(1,2) .. C(1,K(2))
 K(3)
 C(1,1) C(1,2) .. C(1,K(3))
 K(4)
 C(1,1) C(1,2) .. C(1,K(4))
 n
 V(1,1) V(1,2)
 ...
 V(n,1) V(n,2)
 Rezultatele se scot intr-un fisier text sub forma:
 (i,j)   (i=zona, j=compartimentul)
 VV(i,j) cu aceeasi semnificatie cu V.
 ...

             Judeul Botoani

Clasa IX:

 S[ se determine elmentele mulimii 
             {y din Z | exista x in Z, y=(a*x+b)/(c*x+d)}
unde a,b,c,d sunt citite de la tastatur[ i sunt de tip longint, c diferit de zero.

Clasa X:

             O persoan[ trebuie s[ str[bat[ un teren denivelat sub form[ de dreptunghi. persoana se
afl[ ntr-un col al terenului i trebuie s[ ajung[ ntr-un col diametral opus. Consider[m terenul
modelat cu ajutorul unei table mxn, fiecare p[trat avnd o anumit[ n[lime. Se tie c[ persoana
nu poate s[ri n[limi mai mari de h1. Determinai toate posibilit[ile n care persoana poate
pacruge terenul.

Clasa XI:

             S[ se simuleze jocul "Gsca roie" jucat de doi juc[tori astfel:
un pachet de 32 c[ri de josc este mp[rit n mod egal celor doi juc[tori. C[rile se in cu faa
n jos; juc[torii pun alternativ pe mas[ cu faa n sus cartea care se afl[ deasupra pachetului lor.
Dac[ s-a pus o carte roie, cel[lalt juc[tor trebuie s[ ia ntregul pachet de c[ri de pe mas[ i
s[-l pun[ sub pachetul s[u. Jocul continu[ n acest fel pn[ cnd unul din juc[tori r[mne f[r[
c[ri; acesta ctig[ jocul.

Clasa XII:

             Se consdier[ un sistem matematic specificat prin:
   - un ir de identificatori care desemneaz[ teoremele sistemului;
   - un ir de identificatori care desemneaz[ axiomele sistemului.
Pentru fiecare teorem[ se specific[ mulimea axiomelor i teoremelor care intr[ n demonstraia
sa. Se cere:
a) Pentru un sistem matematic dat s[ se decid[ dac[ el este nchis (pentru fiecare teorem[ a
sistemului se poate dmeonstra teorema).
b) S[ se ordoneze irul de teoreme astfel nct pentru fiecare teorem[ toate teoremele care intr[
n demonstraia sa apar naintea teoremei specificate.

Judeul Braov:
                                                                                                                                                                                                                                                          19 februarie 1995
A. Proba teoretic[

Clasa a IX-a

             1. Se consider[ matricea a de n (0<n<100) linii i coloane ale c[rei elemente sunt
numere ntregi; pentru n=7 avem urm[toarea matrice:
                                                             1  1  1  1  1  1  1
                                                             1  1  2  3  4  5  6
                                                             1  2  1  3  6 10 15
                                                             1  3  3  1  4 10 20
                                                             1  4  6  4  1  5 15
                                                             1  5 10 10  5  1  6
                                                             1  6 15 20 15  6  1
             i). G[sii regula dup[ care sunt generate elementele matricii. Ca exemplu, completai
matricea dat[ cu urm[toarele dou[ linii i coloane.
             ii) Folosind matricea de la punctul (i), scriei un program Pascal care citete numerele
ntregi n,i,j (1<j(10<n<100, 1<i<n), determin[ i afieaz[ a[i, j].

             2. S[ se scrie un program Pascal care calculeaz[ valoarea funciei:
                                  ( 2 - sqrt(3) ) la n + ( 2 + sqrt(3) ) la n
f[r[ a utiliza tipul real.

Clasa a X-a:

             3. Suma i produsul a dou[ polinoame (program Pascal).

             4. Fie un num[r natural n. S[ se scrie un program Pascal care determin[ toate
posibilit[ile de a-l scrie ca sum[ de numere naturale. De exemplu, pentru n=5 avem
urm[toarele soluii:
5 = 1 + 1 + 1 + 1 + 1
  = 1 + 1 + 1 + 2
  = 1 + 1 + 3
  = 1 + 2 + 2
  = 1 + 4
  = 2 + 3

Clasa a XI-a si a XII-a:
 
             5. Un graf se numete aciclic dac[ nu conine cicluri. S[ se scrie un program care
stabilete dac[ un graf conex este aciclic sau nu. Graful este dat prin: n - num[rul de noduri,
i prin irul muchiilor sale. Intrarea se d[ ntr-un fiier al c[rui nume se citete iar ieirea pe
ecran.
Exemplu:
5
1 2
1 3
1 4
1 5
Pentru acest exemplu programul va trebui s[ furnizeze r[spunsul: Aciclic.
Observaie: Datele de intrare se presupun corecte (nu se va verific[ dac[ graful este conex,...).

             6. Fie un sistem format din n centrale telefonice. Cunoscnd costul pentru conectarea
direct[ a oric[ror dou[ centrale, s[ se determine variante optime de interconectare (dac[ exist[
mai multe variante optime se vor preciza cel puin dou[). Intrarea se d[ ntr-un fiier al c[rui
nume se citete iar ieirea pe ecran.
Exemplu;
5                               num[rul centralelor
1 2   20            costul pentru conectarea direct[ a centralelor 1 i 2 este 20
1 4   20
1 5   30
2 3   40
2 4   10
2 5   50
3 4   40
4 5   40
Un r[spuns posibil este:
Costul optim este 100.
Se vor conecta centralele:
Solutia 1: 1-4, 4-2, 1-5, 4-3    (20 + 10 + 30 + 40 = 100)
Solutia 2: 1-2, 2-4, 4-3, 1-5    (20 + 10 + 40 + 30 = 100)
Solutia 3: 1-2, 2-4, 1-5, 2-3    (20 + 10 + 30 + 40 = 100)

      5 martie 1995 (proba practic[):

Clasa a IX-a:

                       7. Se consider[ o clas[ de n (n<40) elevi ntre care exist[ relaii de simpatie, nu
neap[rat reciproce. S[ se elaboreze un program Pascal pentru a forma grupuri de elevi ntre care
exist[ relaii de simpatie reciproc[. Un elev nu poate s[ aparin[ mai multor grupuri.
Intrarea se va preciza astfel:
n            - num[rul de elevi;
i j          - elevul j este simpatizat de elevul i;
...
0 0     - pentru a marca sfritul introducerii datelor.


             8. Se consider[ un ir ordonat de cel mult 10000 numere ntregi pozitive distincte. Se
cere s[ se determine cte perechi de numere a c[ror sum[ este 999999 sunt n ir, efectund
un num[r minim de comparaii.

Clasa a X-a: 

             9. Se d[ un caroiaj dreptunghiular de n linii i m coloane. In fiecare celul[ se afl[ un
num[r ntreg din intervalul [0,15], a c[rui reprezentare binar[ pe patru poziii indic[ ieirile
posibile spre celulele al[turate n ordinea NORD, EST, SUD i respectiv VEST. Ieirea ntr-o
anumit[ direcie este posibil[ dac[ i numai dac[ bitul corespunz[tor acelei direcii este 1.
S[ se elaboreze un program care s[ determine dac[ dintr-o celul[ oarecare a caroiajului se poate
iei nafara lui. In caz afirmativ se vor afia toate drumurile posibile.
Fiecare set de date este structurat astfel:
- prima linie conine valorile lui n i m ( pentru n=0 sau m=0 se iese din program);
- a doua linie conine coordonatele celulei;
- urm[toarele n linii conin cte m valori ntregi ntre 0 i 15.

             10. Se citete un num[r de tip longint strict pozitiv. S[ se elaboreze un program care
sa afieze i s[ contorizeze toate modalit[ile de a scrie acest num[r ca sum[ de numere (minim
dou[) ntregi consecutive.
Timpul necesar rul[rii programului trebuie s[ fie de cel mult 10 secunde, iar sumele trebuie
afiate n ordinea cresc[toare a num[rului de elemente din sume.
Exemplu: pentru 6 obinem urm[toarele trei soluii:
6 = suma de 3 numere consecutive incepand cu 1;
6 = suma de 4 numere consecutive incepand cu 0;
6 = suma de 12 numere consecutive incepand cu -5.
Intrarea / ieirea: ecran.

Clasa a XI-a 

             11. Intr-un graf orientat cu n vrfuri, se numete supersursa acel vrf n care nu sosec
arce dar din care pleac[ arce c[tre toate celelalte vrfuri. S[ se determine dac[ graful are cel
puin o supersurs[, caz n care se va afia un astfel de vrf. Algoritmul trebuie s[ fie ct mai
performant. 
Evaluati complexitatea algoritmului propus i afiai r[spunsul la nceputul execuiei programului.
Intrarea: fisier text, ca in exemplul urmator
Ieirea: ecran.
Exemplu:
3
1 3
2 1
2 3
Pentru acest exemplu, vrful 2 este supersurs[.

             12. Fie dat un graf neorientat conex.
a). S[ se determine dac[ este posibil s[ se stabileasc[ o orientare pentru muchii, astfel nct din
fiecare vrf s[ plece un numar par de arce.
b). Dac[ la punctul (a) r[spunsul este afirmativ, se cere s[ se furnizeze o astfel de soluie
(reprezentare grafic[).
Intrarea: fiier text, ca n exemplul precedent.
Ieirea: ecran.

             13. Pe o platform[ dreptunghiular[ cu mxn c[sue se poate mica un robot n cele patru
direcii: N,S,E,V. Iniial robotul se g[sete n c[sua de coordonate (x,y). Comenzile sunt
codificate sub forma unui vector v coninnd caractere din mulimea {'N','S','E','V'}.
Robotul se mic[ conform comenzii curente, iar dac[ i se cere s[ p[r[seasc[ platforma, ignor[
comanda. Dndu-se x,y i vectorul v, s[ se determine:
a). poziia final[ a robotului;
b). dac[ robotul trece de cel puin dou[ ori printr-o aceeai poziie (a,b) dat[.
Intrarea: fiier text:
m n
x y
a b
vectorul v n care "mic[rile" nu sunt separate prin spaii (de ex. NNSVVSE).
Ieirea: ecran.

Clasa a XII-a

             14. Un teren sub form[ dreptunghiular[ este mp[rit n p[trate egale, cu latura de o
unitate. Dimensiunile terenului: mxn, (0<m<101, 0<n<101).
Fiec[rui p[trat i este asociat un punctaj (num[r ntreg ntre 0 i 99). Un copil trebuie s[
ajung[ de la latura de sus la latura de jos astfel nct s[ obin[ un punctaj total maxim (obinut
prin nsumarea punctajelor p[tratelor prin care trece) tiind c[ dintr-un p[trat are voie s[ treac[
doar n unul dintre p[tratele cu care are cel puin un punct comun, situat pe linia urm[toare.
Cunoscnd punctul de pornire, se cere punctajul maxim i un traseu de punctaj maxim.
Intrarea: fiier text (al c[rui nume se citete) ca n exemplul urm[tor:
3 4 2
 1  3  1  1
35 40 30  1
 1  1  1 90
Ieirea: ecran.

Municipiul Bucureti:

Clasa IX:

             1. Pe o platforma industriala se afla n depozite D1,D2,..,Dn (2n100), fiecare putand
pastra maxim m piese (1m50), si un mnipulator cu capacitate maxima de p piese (2p200).
Initial, in fiecare din cele n depozite se afla m piese. Fiecare piesa este marcata cu un numar care
reprezinta indicele depozitului specializat in pastrarea acesteia. Manipulatorul se poate deplasa
inainte sau inapoi, numai intre depozite cu numere de ordine succesive (de la Di la Di+1 i de la
Di+1 la Di, i=1..n-1). Se presupune ca:
- Deplasarea manipulatorului de la un depozit la altul necesita t unit[ti de timp (tN*);
- Timpul necesar pentru incarcarea/descarcarea pieselor nu se ia in considerare;
- Modul cum sunt asezate (stivuite sau nu) piesele in depozite sau la manipulare nu are
inportanta.
             Sa se elaboreze un program care indica miscarile ce trebuie sa le efectueze manipulatorul
pentru a realiza aranjarea tuturor pieselor in timp minim, stiind ca initial maipulatorul porneste
de la depozitul D1, iar dupa efectuarea tuturor miscarilor ramane in dreptul depozitului D1.
Remarca 1: Datele de intrare se introduc conform urmatorului dialog: Numar depozite: (n);
Capacitate depozit: (m). Capacitate manipulator: (p). Durata deplasarii: (t).
Dispunerea initiala a pieselor:
p11 p21...pm1
p12 p22...pm2
..............
p1n p2n...pmn
Remarca 2: pj reprezinta indicele depozitului in care trebuie depusa a j-a piesa ce initial se afla
in depozitul i;
Remarca 3: Rezultatele se vor prezenta sub forma unui tabel ce contine numarul deplasarii
curente; indicele depozitului in dreptul caruia se afla manipulatorul ce incarca/descarca piese; lista
pieselor descarcate si lista pieselor incarcate. In final se va afisa timpul (minim) in care s-a
realizat aranjarea.
Remarca 4: se va verifica corectitudinea datelor de intrare, iar in caz de eroare se va afisa un
mesaj.
Remarca 5: Algoritmul de aranjare, descris in pseudocod, va fi prezentat in textul sursa al
programului drept comentariu.
Exemplu: Pentru n=9, m-2, p=3, t=1 si configuratia initiala 1:3 6; 2:6 7; 3: 1 3; 4: 7 8; 5: 8 9;
6: 2 4; 7: 1 9; 8: 2 5; 9: 4 5, sirul oepratiilor necesare aranjarii este prezentat in urmatorul tabel:

depl         depozit        descarca       incarca |        depl  depozit         descarca       incarca
1            1                                                                       3  6     223 6  7
3            3                                                                                                                                                         446  67  8
5            5                    7  7     8  9                6  6
7            7                    8         9                    88
9            8                    9  9     4  5                10 8                      8       2
11                     7                    5         1                    126                    4         2
13           5                                                                                                                                                         1441  26  6
15           5                    2  6     7  7                16 6
17           7                    6         8                    188                    8  8     5  5
19           7                    7  7     5  6                20 6                      5  6    4  4
21           5                    4         6                    226                    6         5
23           5                    5  5     2  4                24 4                      4  4    1  2
25           3                    2         1                    262                    1         3
27           3                    3         2  2              28  2                      2  2    1
29           1                    1  1                                       STOP
             TIMPUL TOTAL NECESAR PENTRU ARANJARE: 28 unitati de timp.


             2. S[ se elaboreze un program care citeste de la mediul de intrare numerele naturale m
si n (1mn231-1) i realizeaza urmatoarea prelucrare:
  - Fiecarui numar (in reprezentare zecimala) cuprins intre m si n i se determina suma cifrelor,
apoi suma cifrelor numarului obtinut , s.a.m.d., pana cand se obtine o cifra. Astfel, in final se va
obtine un sir de numere.
  - Afiseaza numarul elementelor disrincte din sirul final precum si numarul de aparitii ale
fiecarui element din sir.
Observatii: 10 Se va verifica corectitudinea datelor de intrare, iar algoritmul de rezolvare a
problemei, descris in pseudocod, va fi inclus in textul sursa sub forma de comentariu.
  2) Se cere obtinerea unui algoritm optim din punct de vedere al resurselor timp si memorie.
Exemplu: Pentru m=23457 si n=23477, sirul final contine cifrele 1, 2, 6, 7, 8 si 9 de doua ori,
iar cifrele 3, 4 si 5 de trei ori.

             Clasa X:

             3. Se presupune ca orice dreptunghi de dimensiune mxn (m,n numere naturale) se
inzestreaza cu un sistem de coordonate carteziene date de produsul cartezian MxN, unde
M={1,2,..,m}, N=23
1,2,..,n} si care determina ca dreptunghiul sa fie considerat ca o jusxtapunere (alipire) a mn
patrate de latura 1, fiecare patrat fiind unic determinat de varful dat de perechea (i,j), iM, jN.
Sa se elaboreze un program care sa rezolve urmatoarele cerinte:
a) Sa citeasca un numar natural p>1 pentru care sa decida daca este posibil (sau nu) sa se
construiasca un dreptunghi prin juxtapunerea a p patrate (lungimile laturilor fiind numere
naturale) inegale intre ele; in caz afirmativ sa tipareasca mesajul EXISTA DREPTUNGHI si sa
determine toate solutiile posibile, iar pentru fiecare solutie sa tipareasca sistemele (i,j,l) care
determina cele p patrate gasite, unde (i,j si (i+l,j+l) sunt coorodnatele varfurilor diagonale ale
unui patrat (l fiind lungimea laturii); sa tipareasca dimensiunea dreptunghiului construit; in cazul
in care pentru p citit nu se poate construi un dreptunghi, sa se tipareasca mesajul NU EXISTA
DREPTUNGHI.
b) Sa citeasca un numar natural m>1 si sa determine valoarea maxima a numarului natural p
astfel ca patratul de latura m sa se descompuna in p dreptunghiuri (lungimile laturilor fiind
numere naturale) inegale intre ele; pentru p astfel determinat, sa tipareasca toate solutiile posibile
de descompunere a patratului iar pentru fiecare solutie gasita sa tipareasca sistemele (i,j,a,b) care
determina cele p dreptunghiuri unde (i,j) si (i+a,j+b) sunt coordonatele varfurilor diagonale ale
unui dreptunghi (a,b) fiind lungimile laturilor).
Exemple:
a) p=7 NU EXISTA DREPTUNGHI
p=9 EXISTA DREPTUNGHI, o solutie este
(1,1,9);(1,9,8);(1,17,15);(8,9,1);(8,10,7);(9,1,10);(15,10,4);(15,14,18);(19,1,14).
Dimensiunea dreptunghiului: 33x32
b) m=8; valoarea maxima p=7; exista 4 solutii: o solutie este:
(1,1,5,2);(1,2,5,4);(1,6,7,2);(5,4,2,4);(5,6,3,2);(7,1,1,4);(7,6,1,2).

Clasa XI:

             4. In planul xOy se considera n puncte distincte Pi(xi,yi), xi,yiR, 1in. S[ se elaboreze
un program care sa citeasca numarul natural n3, coordonatele (xi,yi), 1in si sa rezlizeze
urmatoarele:
  a) Sa construiasca un graf planar (muchiile se intersecteaza doar in noduri) avand nodurile in
punctele Pi 1in astfel ca muchiile sale sa formeze o familie de triunghiuri T1,T2,..,Tm, care sa
aiba fiecare cel putin o latura comuna cu un alt triunghi; sa tipareasca numarul gasit m si pentru
fiecare triunghi Ti, coordonatele varfurilor sale.
  b) Folosind graful planar construit la punctul (a), fie G1,..,Gm centrele de greutate ale
triunghiurilor T1, T2,..,Tm si graful avand ca noduri punctele G1,..,Gm iar ca muchii GiGj, icj, daca
triunghiul Ti corespunzator lui Gi are latura comuna cu triunghiul Tj corespunzator lui Gj; sa se
verifice daca graful obtinut este un arbore sau nu si sa tipareasca muchiile grafului prin indicarea
coordonatelor extremitatilor.
Cerinta: Datele de intrare sa se citeasca dintr-un fisier text, iar rezultatele programului sa se
memoreze intr-un fisier text. Algoritmul de rezolvae sa fie prezentat in textul programului drept
comentariu.

             5. Se considera un tablou bidimensional nxn (n1) cu elementele aij=1 pentru 2i,jn-1,
aij=0 altfel.
             Se defineste operatia T care consta in schimbarea semnuui pentru trei elemente
consecutive ale tabloului pe o linie (coloana), daca exista secventa -1 1 1  sau  1 1 -1.
             Sa se eleboreze un program care pentru un n introdus de la mediul de intrare, determina
un sir de operatii T posibile, astfel ca suma elementelor tabloului sa fie 2-n2 sau 4-n2 (echivalent
cu faptul ca in tabel ramane un element de valoare 1 respectiv raman doua elemente de valoare
1).
             Rezultatele programului sa se memoreze intr-un fisier text cu inregistrarea constituita din
numarul de ordine al operatiei T urmat de perechile (i1,j10,(i2,j20,(i3,j3) reprezentand pozitiile in
tablou ale elementelor consecutive din secventa corespunzatoare operatiei T.
Cerinta: Algoritmul de rezolvare in pseudocod va fi introdus in textul programului drept
comentariu.
Exemple: Pentru n=4, o solutie posibila este data de urmatoarele inregistrari:
                       1 (2,1) (2,2) (2,3)
             2 (3,1) (3,2) (3,3)
             3 (2,1) (3,1) (4,1)
Pentru n=5, o solutie posibila este data de urmatoarele inregistrari:
             1 (1,2) (2,2) (3,2)
             2 (2,2) (2,3) (2,4)
             3 (3,2) (2,2) (2,4)
             4 (2,2) (3,2) (4,2)
             5 (3,2) (3,3) (3,4)
             6 (4,2) (3,2) (2,2)
             7 (4,1) (4,2) (4,3)

Clasa XII:

             6. Un numar de n tineri, fete si baieti, identificati prin numerele 1,2,..,n, care au greutatile
g1,g2,..,gn, doresc sa se urce cu un lift la etajul 50 al unui bloc din new-York. Conditia de pornire
a liftului este ca, in lift sa fie un numar de persoane cuprins inte m si p (m<p) si greutatea totala
a grupului de persoane din lift sa fie cuprinsa intre a si b (a<b).
             Sa se determine componenta tuturor grupurilor de persoane care pot urca cu liftul si sa
se atribuie fiecarui grup calificativul f,b,m dupa cum grupul este format numai din fete, numai
din baieti respectiv mixt.
Intrare: datele de intrare se dau la tastatura.
Iesire: Fisierul de iesire contine la inceput datele de intrare sub forma:
             nuamr de persoane: n
             limitele numarului de persoane din lift: a,b
             persoane:
                                 1: greutate, sex
                                 2: greutate, sex  sex=f (pentru fata), b (pentru baiat)
                                 ...............
                                 n: greutate, sex
si apoi rezultatele sub forma;
             numar-grup; componenta-grup; greutate_grup; tip
unde:
             numar-grup: este numarul de ordine al grupului;
             componenta-grup: are forma i1,i2,.., unde i11,n;
             tip{f,b,m}

             7. Un numar de n (n50) bazine dispuse circular astfel incat fiecare bazin sa poata
comunica prin cate o vana cu cele doua bazine vecine, au baza situata la acelasi nivel, considerat
nivelul zero (vanele sunt situate la baza bazinelor). Atunci cand pompele nu functioneaza, nivelul
apei din bazin se poate modifica folosind principiul vaselor comnicante, bazat pe energia
gravitationala.
             Sa se determine nivelul maxim si minim pe care il poate atinge apa din fiecare bazin, prin
deschiderea vanelor, atunci cand folosim principiul vaselor comunicante.
Intrare: datele de intarre se introduc prin fisierul f.dat care contine pe fiecare linie cate un set
de date format dintr-un sir de intregi pozitivi mai mici ca 100, care reprezinta nuvelul apei
fiecarui bazin.
Iesire: Rezultatele se vor afisa pe ecran prin doua siruri de valori (rotunjite la doua zecimale)
corespunzatoare nivelelor maxime respectiv minme ce pot fi atinse in fiecare bazin, siruri
separate de o linie libera.
             Rezultatele ce corespund la seturi diferite de date sunt separate prin 2 linii libere.


Judeul Iai:

Clasa IX:

             1. Se numete serie magic[ un ir s0,s1,s2,..,sn, si{0,..,n}, 0in cu
proprietatea c[ fiecare i{0,1,..,n} apare exact de si ori. De exemplu, 3,2,1,1,0,0,0
este serie magic[.
   a) S[ se scrie un program care decide dac[ un ir de numere naturale dat este serie magic[
sau nu.
Structura fiierului de intrare pentru k teste:
n1
s0 s1 s2 ... sn1
.....................
nk
s0 s1 s2.... snk
Pentru fiecare set de date de intrare se va afia DA sau NU dup[ cum seria este magic[ sau nu.
   b) S[ se scrie un program care genereaz[ toate seriile magice pentru o valoare nz citit[
de la terminal.
Structura fiierului de ieire:
s0 s1 s2 ... sn
..........................
s0 s1 s2 ... sn
Observaie: Numele fiierelor de intarre i de ieire vor fi citite de la terminal.

Clasa X:

             2. Se consider[ k iruri S1,s2,..,Sk de numere ntregi, fiecare ir avnd n elemente
ordonate cresc[tor.
   a) S[ se scrie un program care determin[ num[rul maxim de iruri (din cele date) care au
m[car un element n comun.
   b) S[ se determine j maxim pentru care exist[ xi1xi2..xij aa nct:
             i) xiq apare n irul Siq,
             ii) 1i1<i2<..<ijk.
Afiarea rezultatelor se va face pe ecran. Numele fiierelor de intrare i de ieire vor fi citite de
la terminal. Structura fiierului de intrare este:
k n
S11 S12 ... S1n
........................
Sk1 Sk2 ... Skn
Structura fiierului de ieire pentru (ii) este:
j
i1 i2 ... ij
xi1 xi2 ... xij

Clasa XI:

             3. Se numete b-arbore un arbore binar un arbore binar n care orice nod are 0z sau
2 descendeni direci. Nodurile cu zero descendeni vor fi numite noduri terminale iar cele cu
doi descendeni - noduri interioare.
I. a) S[ se arate c[ orice b-arbore cu n noduri terminale are n-1 noduri interioare.
   b) S[ se scrie un program care s[ calculeze num[rul care s[ calculeze num[rul de b-arbori
cu n noduri terminale (nz introdus de la tastatur[).
II. Un b-arbore m-ponderat este un b arbore n care fiecare nod iz are ataat[ o
pondere pi cu valori cuprinse ntre 1 i m-1 astfel nct, pentru orice nod terminal t, suma
ponderilor din nodurile aflate pe drumul de la r[d[cin[ la t este egal[ cu m. Ponderea unui b-
arbore m-ponderat, notat[ prin Pm,n(i) este definit[ ca suma ponderilor ataate vrfurilor care
l compoun.
             S[ se scrie un program care pentru n i m dai determin[ (n cazul cnd exist[) un b-
arbore T* i o m-pondere a sa astfel nct 
             Pm,n(T*)=max{Pm,n(T):T este b-arbore m-ponderat cu 2n-1 noduri}.
Numele fiierelor de intrare i de ieire vor fi citite de la tastatur[.
Fiierul de ieire va conine b-arborele n forma:
eticheta-nod, pondere, [Subarbore stng, Subarbore drept]
sau mesajul "NU EXISTA SOLUTII".

Clasa XII:

             4. Se consider[ maina de calcul cu n regitri de memorie, notate r1,r2,..,rn ce pot
memora fiecare cte o cifr[ binar[. O instruciune atomic[ este notat[ prin ij, 1i<jn,
execuia sa nsemnnd:
             dac[ i<j atunci                       [ri]Minim([ri],[rj]) i
                                                                                                                                            [ri]Maxim([ri],[rj]) altfel.
Consider[m instruciunile compuse de forma I={i1j1,i2j2,..,ikjk} aa nct mulimea
de indici {i1,j1},{i2,j2},..,{ik,jk} sunt disjuncte dou[ cte dou[.
             Spunem c[ un program realizat cu instruciunile compuse I1,I2,..,It sorteaz[ valorile
existente iniial n regitrii r1,r2,..,rn dac[ n urma execuiei, coninuturile rgitrilor verific[
relaia r1r2..rn. Un astfel de program va fi numit program de sortare.
   a) s[ se scrie un program care avnd la intrare num[rul n de regitri i o secven[ de
instruciuni I1,I2,..,It decide dac[ secvena dat[ este un program de sortare.
Structura fiierului de intrare:
n  t
i11 j11 i12 j12 .. i1k1 j1k1
i21 j21 i22 j22 .. i2k2 j2k2
.................................
it1 jt1 it2 jt2 .. itkt jtkt
  cu 1kin/2.
   b) S[ se scrie un program care avnd la intrare valorile ntregi n i t (citite de la terminal)
genereaz[ un program de sortare cu t instruciuni pentru o main[ cu n regitri.
Structura fiierului de ieire:
i11 j11 i12 j12 .. i1k1 j1k1
i21 j21 i22 j22 .. i2k2 j2k2
.................................
it1 jt1 it2 jt2 .. itkt jtkt


Judeul Teleorman:

  Clasa a -IX -a

  1)Sa se ordoneze in spirala un numar de n*n elevi (n=impar) intr-un tablou
de dimensiuni n*n , dupa inaltime , astfel incat cel mai inalt se gaseste in 
mijlocul spiralei , iar ceilalti urmeaza in jurul sau in ordinea inaltimilor.
    Se da un elev cu numarul q , sa se gaseasca pozitia in tablou a acelui
 elev.

   2)Sa se calculeze ultima cifra a numarului 7 la puterea n , unde n se
 citeste de la tastatura.

   3)Pentru parametrii a , b , c , sa se discute natura si semnul solutiilor
ecuatiei de gradul II :
        a*X^2+b*X+c=0



  Clasa a -XI -a

   1)Sa se scrie un program prietenos cu utilizatorul care sa indeplineasca
 urmatoarele cerinte :
  a)Inregistreaza lista produselor si costul total pe care trebuie sa-l
 plateasca un cumparator.Se presupune existenta unui fisier cu numele si pretul
 produselor aflate in stoc . Programul trebuie sa afiseze si lista eventualelor
 produse neexistente  in stoc si sa se realizeze actualizarea stocului.
  b)La aprovizionare se introduce o lista de noi marfuri si preturile lor ;
 pentru numarul de produse existente in stoc se semnaleaza existenta lor si li
 se modifica preturile lor.
  c)La cerere sa se listeze un raport si lista primelor 5 produse cele mai 
 solicitate
   2) Sa se realizeze urmatorul meniu:
        +-------------+-----------------------+------------+
        |  Fisiere    | Rapoarte              | Exit       |
        +-------------+-----------------------+------------+
        | Creare      | Tiparire all          | Exit DOS   |
        | Actualizare | Tiparire inregistrare | Exit Mediu |
        +-------------+-----------------------+------------+

  Clasa a - XII -a
 
  1)Se considera polinomul :
     P(X)=(X-a1)*...*(X-an)=X^n+b1*X^(n-1)+...+b(n-1)*X+bn
    Sa se afle coeficientii bi ai polinomului si valoarea lui pentru un X dat,
  ai (i de la 1 la n) se cunosc.


  2)Se considera sirul de numere naturale x1,x2,...,xn si un sir ai=i pentru 
i cu valori de la 1 la n.Sa se scrie valoarea expresiei si permutarea pentru
sirul ai pentru care valoarea ei este maxima :
                 1                  1
   P(x)=(x(1)+-------)*...*(x(n)+-------)=
               x(s(1))           x(s(n))

    s(i)=o permutare a sirului ai.


  Clasa a - X - a

   1)Se da un numar natural n (diferit de 0) si k apartine P(n) reprezentand
 produsul cifrelor numarului n.Sa se genereze toate numerele care au produsul 
 cifrelor egale cu k , astfel incat in compinenta numerelor sa nu avem cifre
 identice , si sa se afiseze numarul cel mai mare care a fost generat si
 numarul cel mai mic care a fost generat.

  2)Sa se genereze toate patratele de dimensiune (n,n) , care au pe fiecare
 coloana cate un element aprins cu conditia ca elementele sa nu fie simetrice
 fata de diagonala principala

             Judeul Timi:

                                                                CLASA a IX-a

Se considera un tablou bidimensional ale carui elemete sunt numere 
intregi sau expresii simple in care pot apare ca operatori + si -,
iar ca operanzi numere intregi si elemente ale tabloului bidimensional 
considerat. Expresiile se evalueaza de la stanga la dreapta.
Sa se scrie un program care sa calculeze elementele unui asemenea 
tablou (cele care nu pot fi calculate vor primi ca valoare un spatiu.
Un set de date din fisierul de intrare expr.inp are urmatoarea structura:
- prima linie contine doua numere intregi lin si col care reprezinta numarul 
  de linii, respectiv coloane ale tabloului considerat;
- pe urmatoarele linii sunt date elementele tabloului, fiecare pe o linie.
Seturile de date de intrare sunt separate printr-un rand liber.
Fisierul de iesire expr.out trebuie sa contina pentru fiecare set de date 
de intrare lin linii continand valorile elementelor tabloului obtinute in 
urma evaluarii.
Exemplu:
pentru setul de date de intrare:
2 3
1
a[1,1]+3
a[2,2]-4+a[1,2]
3-4+10
a[1,3]+1
-a[2,1]
iesirea este:
             1      4
             9                    -9



                                                                                                    CLASA a X-a

O suprafata de teren dreptunghiulara de dimensiune L1xL2 este acoperita 
de o retea ortogonala de paturi patratice de dimensiune l. N yogini si N 
lama tibetani se aseaza fiecare pe cate o patura in centrul ei, 
adancindu-se in meditatie. Oricare 3 din cei 2N asceti nu sunt asezati 
in linie dreapta. Presupunand ca gandurile se transmit in linie dreapta, 
sa se scrie un program care sa indice linia telepatica stabilita intre 
fiecare yogin cu un lama tibetan oarecare, astfel incat cele N linii 
telepatice sa nu se intersecteze.
Se va verifica daca oricare 3 din cei 2n asceti sunt asezati in linie 
dreapta. Daca printre cei 2N asceti, se gasesc 3 asceti oarecare asezati 
in linie dreapta, se va tipari mesajul  'Asezare gresita' si se va 
intrerupe executia programului.

Datele de intrare se furnizeaza dintr-un fisier text, cu urmatorul continut:
             -pe prima linie apare valoarea lui N
                       -pe urmatoarele 2N linii apar doua numere naturale, reprezentand 
         coordonatele asezarii yoginilor, urmate de coordonatele asezarii 
         lama tibetanilor
Rezultatele vor fi tiparite pe N linii, fiecare linie continand numarul de 
ordine al unui yogin, urmat de numarul de ordine al unui lama tibetan cu 
care a stabilit o linie telepatica.
Exemplu:

Fisierul de intrare:
             5
             5      5
             6      2
             7      6
             9      4
             9      3
             8      6
             6      3
             4      1
             2      2
             1      4
O solutie posibila:

             1      4
             2      3
             3      5
             4      1
             5      2


                                                                                                 CLASA a XI-a

Se da un numar intreg N si un sir de maxim 15 cifre zecimale. Sa se determine 
daca numarul N poate fi rezultatul unei expresii aritmetice simple 
(fara paranteze), formata exclusiv din cifrele sirului citit si din 
operatorii aritmetici de baza (+,-,*,/).
Observatii:
             - in sirul citit anumite cifre se pot repeta;
             - in expresia aritmetica fiecare cifra trebuie sa aiba corespondent 
          in sirul citit;
             - nu toate cifrele din sir trebuie sa apara si in expresia aritmetica 
          (si nu in aceeasi ordine);
             - un operator poate sa apara de mai multe ori;
             - in expresia aritmetica, intre doua cifre trebuie sa apara un 
          operator;
                       - la evaluarea expresiei, prioritatea operatorilor este cea cunoscuta 
          din aritmetica;
Scrieti un program care realizeaza in mod repetat urmatoarele actiuni:
             - citeste numarul N de pe o linie si cifrele de pe linia urmatoare 
          dintr-un fisier text;
             - determina solutia problemei si afiseaza prima expresie gasita sau 
          mesajul  "Nu exista expresie".
Restrictii tehnice:
             - numele fisierului de intrare olimp.inp;
             - numele fisierului de iesire olimp.out;

Exemple:
Fisierul olimp.inp 
20
3 9 1 8
1024
8 8 8 2
31
3 6 7 7

Fisierul olimp.out
20=3*9+1-8
1024=8*8*8*2
31=7*7-6*3



                                                                                                 CLASA a XII-a

Fie un nume de intrare de director DOS, a carui descriere poate contine si 
'wildcards' (caracterele '*' si '?'). Sa se scrie un program care sa:
             - preia de la linia de comanda o descriere de intrare de director;
             - listeze toate numele de intrari de director care corespund 
          descrierii, iar daca astfel de intrari de director nu exista, se 
          vor afisa intrarile de director care au numele cele mai apropiate 
          de descrierea de intrare de director specificata.
Apropierea (distanta) dintre doua nume de intrari de director se stabileste 
cu ajutorul distantei dintre cuvinte, si anume numarul minim de operatii de 
stergere / inserare / inlocuire de caractere necesare pentru a transforma 
primul cuvant in cel de-al doilea.

Exemplu:
Daca exista intrarile:
             DIST.BAK
                       DIST.EXE
             DIST.PAS
             RANDUL.1
             RANDUL.2
             RANDUL.3
             BAC94
             BAC95
             BOLDISTE
             C
             FLORINLL
             PAS
             PLANIFIC
             TEST
             TEZA
atunci DIST *L*i*.*?* 
unde DIST este numele programului, va oferi rezultatele (intre paranteze este specif
icata distanta)

             DIST.BAK (1)
             DIST.EXE (1)
             DIST.PAS (1)
             RANDUL.1 (1)
             RANDUL.2 (1)
             RANDUL.3 (1)
             BOLDISTE (1)
             FLORINLL (1)
             PLANIFIC (1)

             Judeul Zal[u:

CLASA A IX-A

  PROBLEMA 1
        N copii se joaca in cerc. Ei efectueaza o numaratoare de la 1 la M, unde
        se presupune ca M<N. Fiecare al M-lea copil iese din cerc.
        a) Sa se stabileasca ordinea iesirii copiilor din cerc.
        b) Sa se determine valoarea lui M>1, astfel incat ultimul iesit din cerc
        sa fie al X-lea.
        EXEMPLU
        a) Pentru N=5, M=3, ordinea va fi: 3, 1, 5, 2, 4.
        b) Pentru N=5, X=1 se obtine M=4.


 PROBLEMA 2
        Avand date un text si un cuvant:
        a) sa se gaseasca si sa se tipareasca toate anagramele cuvintului dat care
        se gasesc in textul respectiv;
        b) sa se tipareasca si celelalte anagrame posibile ale cuvantului dat
        (cele care nu se gasesc in text);

        EXEMPLU
        Pentru textul "Aici este o masa rea care are trei picioare si care
                        era mai alba mai demult"
               si cuvantul "aer" se va tipari:
                a) rea
                   are
                   era
                b) aer
                   rae
                   ear


CLASA A X-A
        PROBLEMA 1
        Se dau N cupoane de materiale de lungimi L1, L2, ..., Ln si preturi unitare
        P1, P2, ..., Pn. Sa se determine o multime de cupoane de valoare totala
        maxima, astfel incat lungimea totala a cupoanelor care intra in multime
        sa nu depaseasca o valoare data Lmax. In plus se considera ca nu orice doua
        cupoane pot fi selectate impreuna. Ca date de intrare se dau numarul de
        cupoane, lungimea maxima si pentru fiecare cupon lungimea si pretul unitar
        precum si o lista de perechi de cupoane incompatibile. Se vor afisa indicii
        corespunzatori cupoanelor selectate in multime precum si lungimea si
        valoarea totala a cupoanelor.


        PROBLEMA 2
        Se introduce de la tastatura un numar natural N<=50. Se cere sa se
        determine toate sirurile de caractere de lungime N care contin doar
        paranteze rotunde deschise si inchise, cu proprietatea ca parantezele
        se potrivesc corect.
        EXEMPLU
        Pentru N=4 sirurile corecte sunt:
        ()()
        (())



CLASA A XI-A SI A XII-A
   PROBLEMA 1
        Se da enuntul:
        In acest text cifra _ apare de _ ori,
                      cifra _ apare de _ ori,
                      cifra _ apare de _ ori,
                      cifra _ apare de _ ori,
                      cifra _ apare de _ ori,
                      cifra _ apare de _ ori,
                      cifra _ apare de _ ori,
                      cifra _ apare de _ ori,
                      cifra _ apare de _ ori,
                      cifra _ apare de _ ori.
        Sa se completeze enuntul de mai sus cu cifre de la 0 la 9, in toate
        modurile posibile astfel incat de fiecare data enuntul sa fie adevarat.


  PROBLEMA 2
        Se da o expresie aritmetica avand ca operanzi numere si nume de variabile
        (formate din cate o singura litera), iar ca operatori +, -, *, /. Se cere
        sa se determine daca expresia eset corecta din punct de vedere sintactic,
        iar daca este corecta sa se evalueze expresia. Valorile variabilelor se
        citesc dintr-un fisier, continand pe fiecare linie numele variabilei si
        valoarea sa.

        EXEMPLU

        (x*3))++2   expresie incorecta
        (x+y)*3-1   expresie corecta, unde x=44, y=-2 se obtine E=125

