Metodagreedy

 Utilizati cel putin 2 algoritmi si afisati rezultatele in acelasi program.  Se obtine intotdeauna soluţia optimă ? > E=a1*x1 + a2*x2 + … + am*xm (xi este un element din B) a)Sa se determine cel mai mare numar care se poate forma cu cifrele acestuia b) cel mai mic numar care se poate forma cu cifrele acestuia
 * 1) Se consideră un şir de n numere naturale. Utilizând algoritmi de tip Greedy, partiţionaţi şirul în două submulţimi care au proprietatea că diferenţa dintre sumelor elementelor lor este minimă. Pentru şirul n=4 şi valorile 2,7,10,20 se va afisa: {2,7,10} si {20}.
 * 1) Se citeste un numar natural n si apoi se citeşte un şir de n numere întregi. Să se determine o submulţime de elemente din şir cu proprietatea că suma elementelor din mulţime este maxima.
 * 2) Se citeşte un şir de n numere întregi. Să se aleagă din şir un număr maxim de elemente astfel încât produsul lor să fie maxim. De exemplu, pentru n = 5 şi şirul 3, –4, 2, –5, –8 se vor alege 3, 2, –5, –8.
 * 3) Se citesc n intervale de forma [ai, bi), i = 1..n, unde capetele intervalelor sunt numere naturale. Să se aleagă un număr maxim de intervale astfel încât oricare două intervale alese să nu se intersecteze. De exemplu, pentru n=6 şi intervalele [8, 10), [2, 20), [4, 8), [12, 16), [3, 18), [17, 18) se aleg intervalele [4, 8), [8, 10), [12, 16), [17, 18)
 * 4) Se citeste de la tastatura un vector de n numere intregi distincte si un numar k. Sa se determine o submultime cu numar maxim de elemente a acestuia. In submultime trebuie sa fie cel mult k numere prime, a caror suma sa fie strict mai mare decat suma numerelor neprime selectate.
 * 5) Se dau n numere întregi nenule B={b1, b2, …, bn} si m numere întregi nenule a1, a2, …, am. (m<n). Să se determine o submulţime a mulţimii B care maximizează valoarea expresiei
 * 1) Se consideră un rucsac de capacitate G şi n<=1000 obiecte de greutăţi g1, g2, …, gn si valori v1,v2,...vn. Să se determine obiectele care se selecteaza astfel incat sa incapa in rucsac si valoarea acestora sa fie maxima.
 * 2) Se citesc n numere naturale, un numar S si n tipuri de bancnote.Se se afiseze modalitatea de plata a sumei S folosind un numar minim de bancnote de tipurile precizate. Sa se afiseze la final numarul de bancnote folosite.
 * 3) Se dau două şiruri de lungime N. (N<1000 ). Cele două şiruri au doar elementele 1 şi –1. Scopul este de a transforma primul şir în al doilea. Singura operaţie permisă este de a selecta o secvenţă de K elemente alăturate (vom alege un k convenabil la fiecare transformare) şi să le inversăm semnul la toate numerele cuprinse în această zonă. l, Se vor afişa: numărul minim de operaţii, poziţia de început a fiecărei operaţii efectuate si valoarea k corespunzatoare fiecarei transformari..
 * 4) Dintr-un fisier text se citesc cifre al caror numar nu se cunoaste. (cel mult un milion).

10. Într-un acvariu se găsesc n peşti (n<=100) peşti carnivori, numerotaţi de la 1 la n. Ştiind pentru fiecare peşte care sunt peştii pe care-i poate mânca, să se determine ordinea în care peştii se mănâncă astfel încât în final să rămână în acvariu cât mai puţini. Obs. 1) Doi pesti nu se pot manca reciproc. 2) Daca pestele a poate manca pestele b, atunci niciun peste care poate fi mancat de b nu va putea manca pestele a.

Exemplu:

Date.in n=7

5 7 //5 poate manca 7 5 2 5 3  7 1  1 4

Ordinea: 1 mananca 4, 7 mananca 1, 5 mananca 2,3 si 7. In acvariu raman pestii 5 si 6.

11.Sa se descompuna un sir de n numere in numar minim de subsiruri crescatoare. sa se afiseze numarul acestora.

Resurse:
 * 1) https://wiki-proiecte.wikispaces.com/file/view/t6_greedy.pdf
 * 2) http://www.ududec.com/wp-content/uploads/2015/04/18.-Metoda-Greedy.pdf
 * 3) http://www.cs.wustl.edu/~sg/CSE441_FL04/greedy-practice-probs.pdf