Sunteți pe pagina 1din 7

ECHIPA 1

Pb1. Principala misiune a unei expediții științifice este de a studia evoluția vieții pe o planetă nou
descoperită. În urma studiilor efectuate, cercetătorii au asociat fiecărui organism viu descoperit pe
acea planetă un cod caracteristic. Codul caracteristic este un număr natural de maximum 200 de
cifre zecimale nenule. De asemenea, cercetătorii au observat că pentru orice organism viu de pe
planetă, codurile caracteristice ale strămoșilor săi pe scara evoluției se pot obține prin ștergerea unor
cifre din codul caracteristic al organismului respectiv, iar un organism este cu atât mai evoluat cu
cât codul său caracteristic are o valoare mai mare.

Cerința
Date fiind codurile caracteristice ale două organisme vii diferite, scrieți un program care să
determine codul caracteristic al celui mai evoluat strămoș comun al lor.

Date de intrare
Fișierul de intrare codul.in conține pe prima linie a, codul caracteristic al primului organism, iar
pe linia a doua b, codul caracteristic al celui de-al doilea organism.

Date de ieșire
Fișierul de ieșire codul.out conține pe prima linie p, codul celui mai evoluat strămoș comun al
lui a şi b.

Restricții și precizări
 lungimile celor două șiruri sunt numere naturale mai mici sau egale cu 200 Exemplu
codul.in
7145
847835

codul.out
75

Pb2. Se consideră harta universului ca fiind o matrice cu 250 de linii și 250 de coloane. În fiecare
celulă se găsește o așa numită poartă stelară, iar în anumite celule se găsesc echipaje ale porții
stelare. La o deplasare, un echipaj se poate deplasa din locul în care se află în oricare alt loc în care
se găsește o a doua poartă, în cazul nostru în orice altă poziție din matrice. Nu se permite situarea
simultană a mai mult de un echipaj într o celulă. La un moment dat un singur echipaj se poate
deplasa de la o poartă stelară la alta.

Cerința
Dându-se un număr p (1<p<5000) de echipaje, pentru fiecare echipaj fiind precizate poziția
inițială și poziția finală, determinați numărul minim de deplasări necesare pentru ca toate echipajele
să ajungă din poziția inițială în cea finală.

Date de intrare
Fișierul de intrare poartas.in conține pe prima linie numărul p reprezentând numărul echipaje,
iar pe următoarele p linii câte 4 numere naturale, primele două reprezentând coordonatele poziției
inițiale a unui echipaj (linie coloană), următoarele două reprezentând coordonatele poziției finale a
aceluiași echipaj (linie coloană).

Date de ieșire
Fișierul de ieșire poartas.out va conține un singur număr reprezentând numărul minim de
deplasări necesar.

Restricții și precizări
 coordonatele pozițiilor inițiale și finale ale echipajelor sunt numere naturale din intervalul
[1, 250]
 pozițiile inițiale ale celor p echipaje sunt distincte două câte două
 pozițiile finale ale celor p echipaje sunt distincte două câte două

Exemplu
poartas.in
3
1234
6539
3412

poartas.out
4

Explicații

Pb3. Un tort dreptunghiular de dimensiuni MxN trebuie împărţit în porţii pătrate de aceeaşi mărime.
Găsiţi numărul minim de porţii care se pot obţine şi dimensiunea L a acestora. Atât dimensiunile
dreptunghiului cât şi ale pătratelor în care se împarte sunt numere întregi.

Date de intrare
Fişierul de intrare tort.in va conţine pe prima linie numerele M şi N separate printr-un spaţiu.
Date de ieșire
Fişierul de ieşire tort.out va conţine pe o singură linie, două numere naturale separate printr-un
spaţiu, primul fiind numărul minim de porţii, iar celălalt dimensiunea L.

Restricții și precizări
 1 ≤ M ≤ N ≤ 10000

Exemplu
tort.in
20 24

tort.out
30 4

Pb4. Un număr natural de cel puțin două cifre se numește accesibil dacă este format din cifre
consecutive în ordine strict crescătoare. (23 și 6789 sunt numere accesibile, în timp ce 7, 2334 și
654 nu sunt numere accesibile)

Cerința
Scrieți un program care să citească numerele k, n și un șir de n numere naturale și să afișeze:
a) cele mai mari 3 numere accesibile, nu neapărat distincte, din șirul de n numere;
b) câte dintre numerele din șirul dat care nu sunt accesibile, devin accesibile prin eliminarea exact a
unei cifre;
c) cel mai mic și cel mai mare număr accesibil format din k cifre;
d) numărul numerelor accesibile pare de k cifre și numărul numerelor accesibile impare de k cifre.

Date de intrare
Fișierul de intrare accesibil.in conține pe prima linie un număr natural p. Pentru toate testele
de intrare, numărul p este un număr din mulțimea {1,2,3,4}. Pe linia a doua a fișierului de
intrare se găsesc k și n, iar pe a treia linie a fișierului de află n numere naturale separate prin câte
un spațiu.

Date de ieșire
Dacă valoarea lui p este 1, se va rezolva numai punctul a) din cerințe. În acest caz, în fișierul de
ieșire accesibil.out se vor scrie, în ordine crescătoare, separate prin câte un spațiu, cele mai
mari trei numere accesibile dintre cele n numere aflate pe a treia linie a fișierului. Se garantează că
pentru p = 1 sunt cel puțin trei numere accesibile în șirul de n numere.
Dacă valoarea lui p este 2, se va rezolva numai punctul b) din cerințe. În acest caz, în fișierul de
ieșire se va scrie numărul numerelor din șirul dat care nu sunt accesibile, dar care ar deveni
accesibile dacă li s-ar elimina o cifră.
Dacă valoarea lui p este 3, se va rezolva numai punctul c) din cerințe. În acest caz, în fișierul de
ieșire se vor scrie două valori, separate printr-un spațiu, reprezentând cel mai mic număr accesibil
de k cifre și cel mai mare număr accesibil de k cifre. Dacă cele două numere ce ar trebui afișate
coincid se va afișa valoarea lor comună o singură dată.
Dacă valoarea lui p este 4, se va rezolva numai punctul d) din cerințe. În acest caz, în fișierul de
ieșire se vor scrie două valori reprezentând numărul numerelor accesibile pare de k cifre și numărul
numerelor accesibile impare de k cifre, în această ordine, separate prin spațiu.

Restricții și precizări
 2 ≤ k ≤ 9 și 3 ≤ n ≤ 100 000;
 0 ≤ numerele din șir ≤ 2000 000 000;
 Din numărul 5073, de exemplu, prin eliminarea unei cifre se obțin numerele 507, 503,
573 și 73;
 Pentru a rezolva cerințele a) și b) nu folosim valoarea lui k, iar pentru cerințele c) și d) nu
folosim șirul de n numere;
 Se acordă: 40 de puncte pentru cerința a); 30 de puncte pentru cerința b); 10 puncte pentru
cerința c);
10 puncte pentru cerința d);
 În concurs s-au acordat 10 puncte din oficiu. Pe site se acordă 10 puncte pentru exemple.

Exemplul 1
accesibil.in
1
38
6 12 235 5678 90 987 234 5678

accesibil.out
234 5678 5678

Exemplul 2
accesibil.in
2
39
4 34 123 1238 301 689 4560 7023 1238

accesibil.out
5
Exemplul 3
accesibil.in
3
43
12 345 67

accesibil.out
1234 6789

Exemplul 4
accesibil.in
4
93
12 345 67

accesibil.out
01

Pb5. La un concurs de programare s-au înscris n elevi. Concursul se desfăşoară pe două secţiuni,
secţiunea 1 pentru începători şi secţiunea 2 avansaţi. Proba de concurs se desfăşoară pe parcursul a
3 ore şi elevii au de rezolvat 2 probleme.
Fiecare problemă poate avea punctajul minim de 0 puncte şi punctajul maxim de 100 de puncte.
Punctajul final al concurentului este format din suma punctajelor celor două probleme. Să se scrie
un program care citeşte numărul de elevi înscrişi şi apoi date despre fiecare elev înscris (secţiunea la
care s-a înscris, punctajul obţinut pentru prima problema şi punctajul obţinut pentru a două
problemă) și rezolvă următoarele cerinţe:
1. Afișează mesajul DA dacă toţi cei N elevi înscrişi au reuşit să obţină un punctaj nenul la ambele
probleme propuse, respectiv NU” în caz contrar.
2. Afişează pentru fiecare secţiune numărul de elevi înscrişi. Afişarea se va face în ordinea
crescătoare a numărului secţiunii, prin perechi de numere de forma nr_secţiune nr_elevi.
3. Afişaţi pentru fiecare secţiune punctajul maxim obţinut şi numărul de elevi care au obţinut acest
punctaj. Afişarea se va face în ordinea crescătoare a numărului secţiunii, prin triplete de numere de
forma nr_secţiune punctaj_maxim nr_elevi. Ştiind ca premiile se acordă doar celor
care au luat punctaj maxim, afişaţi şi numărul de premii care vor fi acordate.

Date de intrare
Fişierul de intrare concurs2.in conţine pe prima linie un număr natural C. Pentru toate testele
de intrare, numărul C are una din valorile 1, 2 sau 3. Pe linia a doua a fișierului se găseşte numărul
natural N – numărul de elevi înscrişi iar pe următoarele N linii, separate prin spaţiu,trei numere S
P1 P2 cu semnificaţia: S secţiunea la care participă elevul, P1 punctajul obţinut la prima problemă
şi P2 punctajul obţinut la a doua problemă.
Date de ieșire
Dacă C=1, se va rezolva numai punctul 1). În acest caz, în fişierul de ieşire concurs2.out se va
scrie un singur mesaj DA sau NU.
Dacă C=2, se va rezolva numai punctul 2). În acest caz, în fişierul de ieşire
concurs2.out se vor scrie 2 linii, pe fiecare linie o pereche de numere, separate prin spaţiu
reprezentând valorile cerinţei 2.
Dacă C=3, se va rezolva numai punctul 3). În acest caz, în fişierul de ieşire
concurs2.out se vor scrie 3 linii, pe primele două linii câte un triplet de numere separate prin
spaţiu reprezentând valorile cerinţei 3 iar pe ultima linie numărul de premii.

Restricții și precizări
 1 <= C <= 3,
 1 <= S <= 2
 0 < n <= 300
 0 <= P1,P2 <= 100

Exemplul 1:
concurs2.in
1
7
1 100 100
2 100 100
1 50 0
1 100 100
2 0 40
1 100 100
2 30 70

concurs2.out
NU

Explicație
Există elevi care au punctajul 0 la probleme.

Exemplul 2:
concurs2.in
2
7
1 100 100
2 100 100
1 50 0
1 100 100
2 0 40
1 100 100
2 30 70

concurs2.out
14
23

Explicație
La secțiunea 1 sunt 4 înscriși iar la secțiunea 2 sunt 3 înscriși.

Exemplul 3:
concurs2.in
3
7
1 100 100
2 100 100
1 50 0
1 100 100
2 0 40
1 100 100
2 30 70

concurs2.out
1 200 3
2 200 1
4

Explicație
La secţiunea 1 punctajul maxim (200) a fost obţinut de 3 elevi. La secţiunea 2 punctajul maxim
(200) a fost obţinut de 1 elev. Număr de premii 4.

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