Metody programowania / Ćwiczenia 5: Różnice pomiędzy wersjami
Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwaniaLinia 69: | Linia 69: | ||
</div> | </div> | ||
}} | }} | ||
+ | |||
+ | {{rozwiazanie| 1||<div class="mw-collapsible mw-made=collapsible mw-collapsed"><div class="mw-collapsible-content" style="display:none"> | ||
+ | |||
+ | procedure Sale(N:integer; P,K:array[1..N] of integer); | ||
+ | var ilesal, maxsal:integer; | ||
+ | pi,ki:integer; | ||
+ | begin | ||
+ | sortuj(N,P); | ||
+ | sortuj(N,K); | ||
+ | pi:=1; | ||
+ | ki:=1; | ||
+ | ilesal:=0; | ||
+ | maxsal:=0; | ||
+ | // rozpoczęły się wszystkie zajęcia P[1..pi-1] | ||
+ | // zakończyły się wszystkie zajęcia K[1..ki-1] | ||
+ | // aktualnie trwające zajęcia potrzebują ilesal sal | ||
+ | // maxsal to max ze wszystkich przeszłych wartości ilesal | ||
+ | // przyjmując P[0]=K[0]=-infinity mamy: P[pi-1],K[ki-1]<=P[pi],K[ki] | ||
+ | while pi<=N do begin | ||
+ | if P[pi]<K[ki] then begin | ||
+ | ilesal:=ilesal+1; | ||
+ | if ilesal>maxsal then maxsal:=ilesal; | ||
+ | pi:=pi+1; | ||
+ | end | ||
+ | else begin | ||
+ | ilesal:=ilesal-1; | ||
+ | ki:=ki+1; | ||
+ | end; | ||
+ | end; | ||
+ | Sale:=maxsal; | ||
+ | end; //Sale | ||
+ | |||
+ | ''Koszt czasowy'': | ||
+ | |||
+ | ''Koszt pamięciowy'': | ||
+ | </div> | ||
+ | </div>}} |
Wersja z 00:56, 12 sie 2006
Ćwiczenia z programowania zachłannego
Zadanie 1
Podaj algorytm obliczający dla zadanego ciągu liczb rzeczywistych
opisujących punkty leżące na prostej, minimalną liczbę jednostkowych domkniętych odcinków na prostej pokrywających wszystkie punkty .Wskazówka 1
{{{3}}}
Rozwiązanie 1
{{{3}}}
Zadanie 2
Mamy dany zbiór N zajęć (każde zajęcia, mają swój czas rozpoczęcia i zakończenia) oraz nieskończony zbiór sal. Należy zaplanować wszystkie zajęcia używając jak najmniejszej liczby sal.
Wskazówka 1
{{{3}}}
Rozwiązanie 1
{{{3}}}