Cuprins

Tema 3: Instalatia de craciun!

Informaţii

  1. Deadline hard, 20 mai ora 23:59 (termen limită - nu se obţin puncte pe soluţiile trimise mai târziu)
  2. Trimiterea temelor se face pe platforma vmchecker (folosiți numele de utilizator şi parola de pe http://acs.curs.pub.ro).
  3. Checker-ul offline poate fi descărcat de la această adresă
  4. Puteţi cere ajutor oricând la această adresă email

Modificări temă

  1. 09/05/2018 23:45
    • corecturi checker - date intrare - rezistenţele de la unele teste nu îndeplineau condiţiile pentru ca o abordare Greedy să ducă la rezultatul cel mai bun pentru cerinţa 3;

Descriere

Dezamagit de bradul sau de Craciun, Andrei decide ca anul acesta va avea cel mai frumos brad. El se hotaraste sa isi creeze o propria instalatie de lumini cu care isi va impresiona toti vecinii si prietenii din cartier.

Asadar, decide sa nu mai stea pe ganduri si sa se apuce de lucru cat mai repede . El isi comanda de pe un website chinezesc foarte multe leduri de diverse culori la un pret foarte mic dar dupa ce primeste comanda, acesta constata ca ledurile sunt amestecate si trebuie organizate pe culori. El ia fiecare led pe rand si il testeaza pentru a le putea eticheta bine. In timpul testelor acesta observa un lucru surprinzator: desi doua leduri au aceeiasi culoare, acestea lumineaza cu intensitati diferite Elev bun fiind, Andrei stie sa masoare intensitatea luminoasa a ledurilor si stie ca o poate modifica dupa bunul plac adaugand rezistente de diferite valori in instalatia sa. Deoarece este abia luna Mai, Andrei vrea sa faca cat mai multe simulari pe calculator inainte sa se apuce efectiv de lucru deoarece nu vrea sa greseasca nimic in timpul instalarii ledurilor si are nevoie de ajutorul vostru.

Cerinţe

  1. Determinati diferenta maxima de intenistate intre doua leduri invecinate si precizati cate perechi de leduri au aceasta diferenta.
  2. BONUS : Determinati numarul minim de leduri ce trebuiesc scoase pentru a obtine o instalatie cu intensitatiile ledurilor in ordine descrescatoare .
  3. Cunoscand rezistentele disponibile si intensitatea scazuta de fiecare rezistenta. Precizati numarul minim (folosind o abordare Greedy) de rezistente utilizate pentru a aduce toate ledurile la o intensitate egala cu Y. Daca nu se poate afisati -1.
  4. Aflati cate moduri de organizare a ledurilor exista astfel incat sa nu existe doua leduri de aceeiasi culoare unul langa altul iar diferenta dintre intensitatile lor sa nu fie mai mare de K .

Precizari:

Date I/O

Cerinte.in

Exemplu:

1 1 1 1

Leduri.in

In acest fisier se afla pe prima linie numerele : N , Y ,K cu semnificatia precizata mai jos si N linii reprezentand in ordine: eticheta ledului,culoarea si intensitatea luminoasa. N = numarul de leduri dintr-o configuratie Y = intensitatea la care trebuie aduse ledurile (cerinta 3) K = diferenta de intensitate acceptata (cerinta 4)

Exemplu:

5 55 40
Led1 R 90
Led2 V 100
Led3 O 75
Led4 R 80
Led5 G 55

Rezistente.in

In acest fisier sa gaseste pe prima linie un numar natural M ce reprezinta numarul de rezistente disponibile si M linii reprezentand eticheta rezistentei si valoarea cu care aceasta scade intensitatea unui led.

Exemplu:

3
R1 1
R2 5
R3 10

Rezultat.out

25 2
2
14
48

In acest fisier se vor afla in ordine: Pe prima linie: diferenta maxima si numarul de perechi care respecta aceasta diferenta Pe a doua linie: numarul minim de leduri ce trebuiesc eliminate Pe a treia linie: numarul de rezistente utilizat

Executabilul obținut în urma compilării va avea numele leduri iar regula de rulare va fi:

./leduri Rezistente.in Leduri.in Cerinte.in Rezultate.out

Reguli de trimitere

Restricții