Sunteți pe pagina 1din 2

Recapitulare Greedy

1. Se citesc 3 numere naturale S, n si e cu urmatoarele semnificatii: S este o suma de bani care


trebuie platita folosind bancnote care au valori puterile lui e de la 1 la e la n. Se se afiseze
modalitatea de plata folosind un numar minim de bancnote de tipurile precizate. Sa se afiseze la
final numarul de bancnote folosite. Datele se vor citi din fisierul eur.in, iar rezultatele se vor afisa in
fisierul eur.out.
Exemplu:

eur.in eur.out Explicatie

444 5 2 13 bancnote de valoarea 32 n=5, e=2 rezulta ca bancnotele au valorile


1 bancnote de valoarea 16 1, 2, 4, 8, 16 si 32.
1 bancnote de valoarea 8
1 bancnote de valoarea 4
16

2. Problema rucsacului (cazul continuu)


O persoana are un rucsac cu care poate transporta o greutate maxima g. Persoana are la dispozitie
n obiecte pentru care stie greutatea si castigul obtinut daca transporta obiectul.
Fiecare obiect poate fi transportat integral sau taiat.
Sa se precizeze ce obiecte alege persoana si in ce proportie le ia astfel incat castigul total sa fie
maxim si sa nu se depaseasca greutatea maxima a rucsacului.
Exemplu:

rucsac.in rucsac.out Explicatie

g=3 n=3 1,4,1 Solutie(greutate, castig, raport taiere): 1,4,1


obiectele (greutate,castig): 3,6,0.6667 3,6,0.6667 (al doilea obiect se ia in raport de
22 8 2/3)
14 castig maxim=8
36

3. Problema baloanelor: Având n baloane rotunde (pentru fiecare balon se cunosc coordonatele
centrului si raza lui) care se deplasează pe verticală, se cere să se aleagă un număr cât mai mare
dintre acestea astfel încât să nu se lovească între ele

5. Problema numerelor naturale prime şi neprime. Având un set de numere naturale (n, a1, a2, ...,
an), se cere să alegem dintre acestea cât mai multe, dar cel mult k (dat) numere prime astfel încât
suma acestora să depăşească suma celor neprime. Numerele alese se vor afișa în orice ordine.

numere.in numere.out

k=7 n=13 11 3 17 13 7 5 19
11 3 8 17 29 13 9 6
23 7 15 5 19
6. Baloane
Se dau n baloane sferice, de dimensiuni diferite care coboara vertical. Sa se gaseasca numarul
minim de sageti care pleaca de jos in sus, necesar pentru a sparge toate aceste baloane. O sageata
sparge toate baloanele aflate pe traiectoria sa. Dacă o săgeată atinge tangenţial un balon (doar pe
margine) balonul nu se sparge.

Date de intrare
Fişierul de intrare baloane.in contine pe prima linie n, reprezentand numarul de baloane, iar pe
urmatoarele n linii, perechi de numere intregi (xi,ri), reprezentand abscisa centrului si respectiv
raza fiecarui balon. Fiecare dintre cele n perechi de numere se va afla pe o linie din fisier,
elementele perechii fiind separate printr-un spatiu.

Date de ieşire
În fişierul de ieşire baloane.out se va afisa un singur numar, reprezentand numarul minim de
sageti necesare.

Restricţii
 1 ≤ n ≤ 100 000

 Pentru 50% din teste 1 ≤ n ≤ 1000

 0 ≤ xi ≤ 1 000 000

 1 ≤ ri ≤ 100

 Săgeţile pot fi trase din orice punct al abscisei, nu doar din puncte de coordonate întregi.

Exemplu

baloane.in baloane.out

3 2

3 2

3 1
7 2