Proba II

         
Clasa a X-a

Inchisori 							Punctaj 50

  In urma grevelor ce au avut loc in inchisori s-a hotarat 'de sus' sa se ia 
masuri de intarire a pazei celulelor.
  Datorita austeritatii bugetului inchisorii, si necesitatii  reducerilor de 
personal este posibil ca un gardian sa supravegheze mai multe celule cu 
conditia ca acestea sa fie in raza lui vizuala. Cerinta conducerii este sa se 
foloseasca un numar minim de gardieni, plasati in posturile din fata celulelor.
  In proiectul elaborat de un detinut informatician care sparsese o banca prin 
Internet, inchisorii i se asociaza un graf cu n noduri (celule) in care muchia 
(i,j) reprezinta faptul  ca intre celulele i,j exista vizibilitate. Datele de 
intrare aflate in fisierul in.txt sunt reprezentate  sub forma: pe prima linie,
numarul de celule n (n<=50).
  Pe urmatoarele n linii sunt componenetele matricei de adiacenta separate 
printr-un spatiu,  fiecare linie terminandu-se cu <enter>.
  Datele de iesire se vor gasi in fisierul out.txt si vor reprezenta solutiile 
sub forma unor linii dispuse astfel: pe prima se afla numarul gardienilor, 
iar pe urmatoarele, pe cate o linie  numerele de ordine ale celulelor unde 
sunt plasati, despartite prin spatiu (o linie pentru fiecare solutie gasita)

Exemplu:                        		
Date de intrare :
9
1 1 1 1 1 1 0 0 0
1 1 1 0 0 0 0 0 0
1 1 1 0 0 0 1 1 1
1 0 0 1 1 1 0 0 0
1 0 0 1 1 1 0 0 0
1 0 0 1 1 1 0 0 0
0 0 1 0 0 0 1 1 1
0 0 1 0 0 0 1 1 1
0 0 1 0 0 0 1 1 1        		
 
Solutiile sunt:  
2
1 7
1 8
1 9
3 6
3 4
3 5
1 3

	Observatii: 
	Datele de intrare sunt corecte.       		    

    

Vinuri							Punctaj 50

  La un depozit specializat din Recas sosesc, pe rand, n clienti care solicita
fiecare o cantitate data de Cabernet. In butoiul din magazinul de deservire 
(considerat de capacitate nelimitata) nu se gaseste initial nici o picatura de 
vin. Dan Septica, administratorul depozitului, are un algoritm propriu de 
deservire a clientilor: in functie de ceea ce are in butoi, dar si de 
inspiratia de moment, el poate sa raspunda:
- Va ofer intreaga cantitate cu cea mai mare placere !
sau
- Nu va pot oferi acum ceea ce doriti, mai reveniti cu solicitarea altadata!
  Pe clientul servit il elibereaza de grija banilor corespunzatori costului 
licorii cumparate, iar pe cel refuzat il saluta politicos si are grija ca, 
imediat ce a plecat clientul, sa coboare si sa aduca in butoiul din magazin 
exact cantitatea solicitata de clientul respectiv (cel ce nu a fost servit).
  Clientii sunt restaurante de lux si nu cumpara mai mult de 1 hectolitru.
  Cunoscind cele n cantitati cerute de clienti, sa se determine un mod de a 
raspunde solicitarilor astfel incat, in final, cantitatea de vin vanduta sa 
fie maxima.
  Din fisierul de intrare CERERI.IN se citesc:
- de pe prima linie, n - numarul de clienti (n<=600);
- de pe a doua linie n numere naturale, separate prin spatiu, reprezentand 
  cantitatile (in litri) cerute de clienti, in ordinea sosirii lor.
  Programul trebuie sa scrie in fisierul de iesire VANZARI.OUT cantitatea 
vanduta (tot in litri).
  Exemplu:
CERERI.IN:
4
5 3 4 2
VANZARI.OUT
6

  Interpretare:
  Actiunile lui Septica sunt: refuza primul client si pune 5 litri in butoi, 
il refuza pe al doilea si mai pune inca 3 litri in butoi, iar pe urmatorii 
doi clienti ii serveste, realizand o vanzare de 6 litri.

	NOTA:
	Timp de executie maxim 1 minut/test. (pentru fiecare problema)
	Timp de lucru la ambele probleme 3 ore .

    
 

Pentru informatii scrieti la:
IntraNet - IntraNet@litm.sorostm.ro