Documente Academic
Documente Profesional
Documente Cultură
Categoria PROGRAMARE
Seciunea 11-12
PROBLEMA 1
100 puncte
CUVINTE ASCUNSE
Programatoarea Petra a nceput un curs de criptografie. Fiind un spirit creativ, Petra a creat
deja o metod elaborat de criptare a unei parole sub forma unei perechi (tabel de litere aparinnd
mulimii {a...z}, dicionar de cuvinte). Din pcate pentru Petra, metoda ei de criptare a parolei,
poate fi decriptat de oricine astfel:
- se iau tabelul de litere i dicionarul de cuvinte permise
- se listeaz, sorteaz i numr toate cuvintele care se gsesc n tabel. Un cuvnt c1c2:::ck care
exist n dicionar exist i n tabel dac, fiecare liter ci apare n tabel i pentru i>1 ci este vecin n
tabel cu litera ci-1.
- din lista sortata de T perechi (cuvnti, ai), unde cuvnti este un cuvnt iar ai este numrul de
apariii n tabel, reconstituie litera pi a parolei astfel: pi = a + (ai mod 26).
ncercnd s mbunteasc algoritmul, Petra a decis s nlocuiasc unele litere din tabel cu
semnul ntrebrii `?'. Un semn `?' poate fi nlocuit cu orice liter cnd se parcurge tabelul.
Convinge-o pe Petra c, n ciuda mbuntirii, i poi gsi parola pornind de la orice pereche
de (dicionar, tabel de litere) dat.
Cerina
Dat fiind un tabel de litere de dimensiuni N x M, i o list a cuvintelor din dicionar, s se afieze
lista sortat de T perechi de forma `ci: ai' i parola Petrei.
Date de intrare
Fiierul ca.in va conine N + C + 1 linii; pe prima linie N M C - dimensiunile tabelului, i numrul
de cuvinte din dicionar. Apoi cele N linii ale tabelului:
t1,1:::t1,m
...
tn,1:::tn,m
urmate de cele C cuvinte din dicionar, fiecare pe o linie:
cuvnt1
...
cuvntC
Date de iesire
Fiierul ca.out va conine pe prima linie T, numrul de cuvinte distincte gsite n tabel. Pe
urmtoarele T linii se vor afla perechi cuvnti ai separate printr-un spaiu. Pe ultima linie se va afla
un ir de caractere reprezentand parola Petrei.
Exemplu
ca.in
223
ea
l?
ea
elena
arc
ca.out
2
ea 3
elena 1
db
Explicaii
Am gasit cuvntul ea de 3 ori: o data pe prima linie a
tabelului, o data pe diagonala principal, inlocuind `?'
cu `a', i o data ca ?a" inlocuind `?' cu `e'.
Am gasit cuvntul elena o data, inlocuind `?' cu `n'.
PROBLEMA 2
100 puncte
PEOPLEBOOK
PeopleBook e o companie grozav care permite oricui are un profil s se conecteze online cu toi
prietenii. Una din cele mai apreciate caliti ale companiei PeopleBook este c selecioneaz i
afieaz informaii nu de la toi prietnii, ci de la cei mai buni k prieteni ai ti. Recent, din cauza unor
probleme cu baza de date, inginerii de la PeopleBook au pierdut o mulime de informaii, printre
care i cine sunt cei mai buni k prieteni ai fiecrui utilizator. Tot ce le-a mai rmas este un grafic
2D, n care fiecare utilizator este un punct. Din fericire, ei tiu ca punctele au fost alese astfel nct,
cei mai buni k prieteni ai unui utilizator U sunt reprezentai de cele mai apropiate k puncte de U. Ei
te roag ca pornind de la acea harta 2D s i ajui s recalculeze cei mai buni k prieteni ai fiecrui
utilizator.
Date de intrare
Fisierul pb.in va conine N+2 linii:
N: numrul de utilizatori pe prima linie
K: numrul de prieteni pe a doua linie
Px1 Py1
:::
PxN PyN : coordonatele 2D ale celor N utilizatori (coordonatele fiecarui utilizator separate prin cte
un spaiu pe o linie)
Date de ieire
n fiierul pb.out se vor afia N linii, unde linia i reprezint indicii celor mai buni k prieteni ai
utilizatorului i, sortai cresctor n funcie de distanta dintre ei i prietenul i:
F11 F12 ::: F1k
...
FN1 FN2 ::: FNk
pb.out
12
02
01
20
Explicaii
Avem 4 utilizatori. Pentru utilizatorul 0, cei
mai buni 2 prieteni sunt 1 si 2.
Etc.
Restricii i precizri
Coordonatele sunt numere reale ntre 0 i 10000.
N < 10000
k <= 20
N >= k+1
Indicele utilizatorilor pornete de la 0.
Timp maxim de execuie: 1,5 secunde/test.
Memorie total disponibil 20 MB, din care 10 MB pentru stiv
Dimensiunea maxim a sursei: 10 KB.
PROBLEMA 3
100 puncte
SEC
n timp ce-i bea sortimentul preferat de vin sec, vrjitorului Arpsod i-a venit n minte o
problem de informatic ce are un enun cel puin la fel de sec i anume:
Dndu-se un arbore binar cu N noduri i rdcina n nodul 1, s se rspund la Q ntrebri de
forma: sunt cei doi fii ai nodului X identici?
Doi fii sunt identici dac au acelai numr de subarbori i acetia sunt identici (mai exact, pentru
orice i=1, 2, ..., N subarborele i al primului este identic cu subarborele i al celui de-al doilea).
Cerina
Cunoscndu-se arborele, s se rspund la cele Q ntrebri de forma indicat n enun.
Date de intrare
Pe prima linie a fiierului sec.in se afl numrul natural N, reprezentnd numrul de noduri ale
arborelui. Urmtoarele N-1 linii conin perechi de forma ( x, y ) cu semnificaia c exist muchie
ntre nodul x i nodul y. Pe a (N+1)-a linie se va afla numrul natural Q, reprezentnd numrul de
ntrebri. Pe urmtoarele Q linii se va afla cte un numr natural reprezentnd eticheta nodului ai
crui fii vor fi analizai.
Date de ieire
Fiierul sec.out va avea Q linii. Pe fiecare linie va fi scris cuvntul DA (fr ghilimele) dac cei
doi fii sunt identici respectiv NU (fr ghilimele) n caz contrar .
Restricii si precizri:
1 N 200.000
Ploieti, 28 mai 2016
1 Q 500.000
Nodurile arborelui sunt etichetate de la 1 la N.
Rdcina va fi mereu n nodul 1.
n cazul n care nodul cerut nu are fii, se va afia DA (se consider c sunt doi fii NULL
identici )
Se garanteaz c pentru 30% din teste 1 N 1000 i 1 Q 3000
Exemplu
sec.in
9
12
13
24
25
36
48
59
67
4
1
2
3
7
sec.out
NU
DA
NU
DA
Explicaie
1
PROBLEMA 4
100 puncte
UNICORN
Este ziua unicornului Corn i prietenii lui vor s-i pregteasc o surpriz, un mare turn de cltite!
Totul trebuie s fie perfect, i toat lumea tie c cel mai frumos turn are form de corn (cltitele
sunt aezate n ordine strict descresctoare dup raz). Ei pregtesc cltite de diferite mrimi i le
aaz una peste alta. Fiecare cltit are o anumit valoare nutritiv. Dup ce termin de gtit, acetia
vor s creeze un turn de cltite in form de corn pentru prietenul lor Corn. Astfel, unicornii pot
alege s mnance oricte cltite vor, cltitele rmase pstrndu-i ordinea iniial . Cltitele care
rmn n farfurie (pastrnd ordinea iniial) trebuie s aib form de corn(strict descresctor dup
raz) . Deoarece Corn ador cltitele, ei vor ca turnul Corn format din cltitele rmase dup ce
Ploieti, 28 mai 2016
UNICORN.IN
5
7 15
75
94
85
6 10
3
35
2 10
10 15
UNICORN.OUT
25 2
15
Explicaii
Se aleg prima i a 5-a cltit pentru a forma cadoul
pentru Corn (celelalte cltite vor fi mncate de
prietenii lui).. Valoarea nutritiva este 15 + 10 = 25.
15 2
12