Forum Informatyka UJ forum Strona Główna Informatyka UJ forum
Rocznik 2005 - czyli najlepsze forum w sieci
 
 FAQFAQ   SzukajSzukaj   UżytkownicyUżytkownicy   GrupyGrupy   GalerieGalerie   RejestracjaRejestracja 
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 

Zadanie H - Przychodnia
Idź do strony Poprzedni  1, 2, 3, 4  Następny
 
Napisz nowy temat   Odpowiedz do tematu    Forum Informatyka UJ forum Strona Główna -> Archiwum / 1 rok / 2 i 3 semestr - Algorytmy i Struktury Danych
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
oinopion
żul



Dołączył: 28 Lis 2005
Posty: 858
Przeczytał: 0 tematów

Skąd: Kraków

PostWysłany: Czw 1:59, 06 Kwi 2006    Temat postu:

hansu napisał:
Polecam na przyszlosc opcje Edytuj posta... Wlasciwie to moglbym Ci to ciachnac ale zostawie jako edukacyjny przyklad "Jak nie nalezy robic" :P

hansu, z Ciebie to prawdziwy administrator się zrobił... Może zaczniemy Ci płacić?
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
hansu
Nieomylny Admin



Dołączył: 17 Lis 2005
Posty: 1990
Przeczytał: 0 tematów

Skąd: przychodzimy? Czym jestesmy? Dokad zmierzamy?

PostWysłany: Czw 2:18, 06 Kwi 2006    Temat postu:

Nawet jakbym nie byl adminem to bym napisal o tym edytowaniu... Bo zawsze mnie troche mierzilo jak ktos na jakims forum wysylal po kilka postow pod rzad kazdy nastepny z kokekta poprzednich... Nie no ale bez przesady, nikt tu nie bedzie banow jakichs czy chocby warningow za to rozdawal... To po prostu jest prosba o przestrzeganie pewnych regul zeby nam sie wszystkim lepiej z tego korzystalo...

BTW. Z tym placeniem to nie jest taki glupi pomysl... Moze w balsamach ;)
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
kg86
zielony żul



Dołączył: 22 Gru 2005
Posty: 1194
Przeczytał: 0 tematów

Skąd: pochodze?

PostWysłany: Czw 17:53, 06 Kwi 2006    Temat postu:

sorki, bylem zmeczony, nie pomyslalem o tym ;P co nie zmienia faktu, ze innego typu odpowiedzi sie spodziewalem ;P
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Robson
zielony żul



Dołączył: 21 Paź 2005
Posty: 1274
Przeczytał: 0 tematów

Skąd: Z Lasu :]

PostWysłany: Czw 18:24, 06 Kwi 2006    Temat postu:

Ja bym spróbował taka małą zmiankę:
czasgabinetu := max(czasgabinetu, czaspracownika)
inc(czasgabinetu)
czaspracownika := czasgabinetu;
i teraz przesiać na dół.
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
kg86
zielony żul



Dołączył: 22 Gru 2005
Posty: 1194
Przeczytał: 0 tematów

Skąd: pochodze?

PostWysłany: Czw 19:19, 06 Kwi 2006    Temat postu:

sprobowalem, dziala tak samo, z tym ze kod odrobinke bardziej przejrzysty ;) ale dzieki za dobre checi...
dla tego testu powyzej daje wynik 9, choc wg testerki mateo powinien dac 8... w tym tescie sporo pracownikow sie tloczy do jednego gabinetu, nie wiem, jak na kartce sobie to rozpisalem, rowniez wynik wyszedl mi 9... dwa razy sprawdzilem
a gdy jest taka sytuacja, ze: pracownik przychodzi do jakiegos gabinetu... wychodzi z niego i znowu ma do niego wejsc, jednak wtedy kilku innych rowniez chce do niego wejsc [wszyscy maja identyczny czas wejscia], to:
1) czy ten co wyszedl ma prawo pierwszenstwa, bo teoretycznie pod gabinet przybyl wczesniej?
2) czy ustawiam go w kolejke wg zasad, czyli po numerach pracownikow?
bo ja nie mam pojecia, jak dla tego testu powyzej, moze wychodzic 8... :/
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Spectro
Mistrz grilla



Dołączył: 09 Mar 2006
Posty: 2306
Przeczytał: 0 tematów

Skąd: Kurdwanów

PostWysłany: Czw 21:16, 06 Kwi 2006    Temat postu:

kg86 napisał:
dla testu 100 i 103 mam RD8 [RTE 216]... jak sie dobrac do tych testow?

Jeżeli dobrze poustawiany mam dostęp, to testy można skopiować z katalogów:

Kod:
/users/sgistudent/2005/kosinski/testy/H/in
/users/sgistudent/2005/kosinski/testy/H/out
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
kg86
zielony żul



Dołączył: 22 Gru 2005
Posty: 1194
Przeczytał: 0 tematów

Skąd: pochodze?

PostWysłany: Pią 1:58, 07 Kwi 2006    Temat postu:

na szczescie z dostepem nie bylo wiekszego problemu, takze dzieki :)
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Robson
zielony żul



Dołączył: 21 Paź 2005
Posty: 1274
Przeczytał: 0 tematów

Skąd: Z Lasu :]

PostWysłany: Pią 18:54, 07 Kwi 2006    Temat postu:

otoz wynikiem jest 8:

Kod:
czas:  obslugiwany pacjent(gabinet):
0       4(2)
1       8(2)
2       7(2)
3
4
5       2(2)       6(3)
6       5(2)       1(3)       2(4)
7       3(2)       6(3)
8      ----------------------------------- wyjscie ostatniego pacjenta
9
10


sprawdz czy ktorys pacjent nie wchodzi ci na chama na koncu do jeszcze jakiegoś gabinetu (byc moze jak pamietasz wsyztskie gabinety do odwiedzenia w jednej tablicy, to niektórzy mogą wleźć z butami do listy gabinetów innych - a w takim tescie łatwo o to zeby wlezli do 2 albo 3 bo sie czesto powtarzają.

BTW jak usowasz z kopca tych, którzy juz nie maja zadnego gabinetu do odwiedzenia?
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
kg86
zielony żul



Dołączył: 22 Gru 2005
Posty: 1194
Przeczytał: 0 tematów

Skąd: pochodze?

PostWysłany: Nie 15:26, 09 Kwi 2006    Temat postu:

jak znowu przeliczalem na kartce, to tym razem wyszlo mi 8, dzieki czemu moglem znaleźć blad... okazalo sie, ze upheap nie dzialal tak jak trzeba... zdziwilem sie tylko, ze tak powazny blad, mial tak male znaczenie dla wynikow, bo w wiekszosci przypadkow mialem OK. ale poprawilem i przeszlo :)

a z kopca usuwam tak: biore ostatniego i ustawiam go na poczatek i przesiewam w dol... klasyczny delete :)
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
trywialna
pijak



Dołączył: 12 Mar 2006
Posty: 257
Przeczytał: 0 tematów

Skąd: z kontowni:)

PostWysłany: Śro 17:03, 12 Kwi 2006    Temat postu:

Czy do tego zadania trzeba zrobic kopiec taki wskaznikowy? czy na zwykłej tablicy tylko? tnx za odpowiedź:)
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Spectro
Mistrz grilla



Dołączył: 09 Mar 2006
Posty: 2306
Przeczytał: 0 tematów

Skąd: Kurdwanów

PostWysłany: Śro 17:06, 12 Kwi 2006    Temat postu:

Na zwykłej tablicy. Standard.
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Rogal
Zjeb z kaszanką



Dołączył: 13 Mar 2006
Posty: 1745
Przeczytał: 0 tematów

Skąd: koło podbiegunowe

PostWysłany: Śro 17:43, 12 Kwi 2006    Temat postu:

trywialna napisał:
Czy do tego zadania trzeba zrobic kopiec taki wskaznikowy? czy na zwykłej tablicy tylko? tnx za odpowiedź:)


Kopce binarne robi się w zasadzie tylko na tablicy, dlatego że dla każdego elementu adresy Parent / Letf / Right można 'trywialnie' policzyć (odpowidenio i shr 1, i shl 1, (i shl 1)+1). Więc nie ma sensu marnować pamięci na dodatowe wskaźniki.
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
hansu
Nieomylny Admin



Dołączył: 17 Lis 2005
Posty: 1990
Przeczytał: 0 tematów

Skąd: przychodzimy? Czym jestesmy? Dokad zmierzamy?

PostWysłany: Śro 17:45, 12 Kwi 2006    Temat postu:

Robienie kopca wskaznikowego to bylby az przerost formy nad trescia :) Poza tym prawda jest taka ze na tablicy jest duuuuzo prosciej niz na wszkanikach, bo wtedy musialo by byc z parentami i w ogole mozna byloby dostac krecka przy przepinaniu tego wszystkiego. Takze tablica wydaje sie wrecz stworzona do tego :) a taki maly hint odnosnie kopca mi sie jeszcze przypomnial... Mozna sobie w fajny i ciekawy sposob zredukowac ilosc ifow w kodzi kopca z "niewiemilu" do dwoch. Otoz deklarujemy sobie tablice od zera, ale kopiec trzymamy od jedynki. W funkcjach left i right dodajemy tylko warunek if 2*n (ew. + 1) > size then return 0. I wtedy to pole zerowe staje sie zamiast bycia nilem, takim naturalnym wartownikiem. Przed przesiewaniem wstawiamy tam przesiewany element. I wtedy heap up i heap down puszcza sie whilem z jednym tylko warunkiem i jest pewnosc ze to sie nigdy nie zapetli ani nie zacznie pisac poza zakresem... Taki fajny myk na ktory wpadlem piszac to zadanko... Jesli wytlumaczylem to niejasno to krzyczcie, rzuce jakis przykladzik...
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Rogal
Zjeb z kaszanką



Dołączył: 13 Mar 2006
Posty: 1745
Przeczytał: 0 tematów

Skąd: koło podbiegunowe

PostWysłany: Śro 19:11, 12 Kwi 2006    Temat postu:

Możesz zobrazować ten stos? Wiem że ja głupi jestem. 8)
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Spectro
Mistrz grilla



Dołączył: 09 Mar 2006
Posty: 2306
Przeczytał: 0 tematów

Skąd: Kurdwanów

PostWysłany: Śro 20:01, 12 Kwi 2006    Temat postu:

Rogal napisał:
(i shl 1)+1

Ładniejsza wersja (którą zresztą zastowałem): i shl 1 or 1 ;)

Rogal napisał:
Możesz zobrazować ten stos?

Co prawda nie jestem hansem, ale tu chodzi o to, że element o indeksie 0 jest ojcem elementu o indeksie 1. Ustawiając wartość porównywalną tego elementu na -infinity uzyskujemy redukcję ifów o warunek i = 0 przy parentowaniu (dzieleniu przez 2).
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Rogal
Zjeb z kaszanką



Dołączył: 13 Mar 2006
Posty: 1745
Przeczytał: 0 tematów

Skąd: koło podbiegunowe

PostWysłany: Śro 20:32, 12 Kwi 2006    Temat postu:

Spectro napisał:
Rogal napisał:
(i shl 1)+1

Ładniejsza wersja (którą zresztą zastowałem): i shl 1 or 1 ;)


A ja się zastanawiałem, czy zapis i shl 1 jest zrozumiały :lol:

A co do zapisu Hansa to nie rozumiem, czy to pole 0 ma chronić przed nie wejściem na pole 0, czy przed zejściem poniżej liści. I o co chodzi z tym wstawianiem tam elementu przed przesiewaniem?
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Madras
Omylny Admin



Dołączył: 09 Lis 2005
Posty: 2021
Przeczytał: 0 tematów

Skąd: Z Pokoju :]

PostWysłany: Śro 21:19, 12 Kwi 2006    Temat postu:

I znowu shl/shr... Założę się, że bez przesunięć bitowych, czyli normalnym i div 2/ * 2 bez problemu to zadanie przejdzie. Z igły widły...
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
oinopion
żul



Dołączył: 28 Lis 2005
Posty: 858
Przeczytał: 0 tematów

Skąd: Kraków

PostWysłany: Śro 21:43, 12 Kwi 2006    Temat postu:

Nie ma sensu wstawiać shl i or 1, bo od tego jest opcja -O2 kompilatora.

[Ztego co pamiętam, to nawet bez -O2 się to automatycznie zamienia, dociekliwi: posukajcie w Programmers Guide na freepascal.org]


Ostatnio zmieniony przez oinopion dnia Śro 22:00, 12 Kwi 2006, w całości zmieniany 1 raz
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Madras
Omylny Admin



Dołączył: 09 Lis 2005
Posty: 2021
Przeczytał: 0 tematów

Skąd: Z Pokoju :]

PostWysłany: Śro 21:44, 12 Kwi 2006    Temat postu:

A to swoją drogą.
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Rogal
Zjeb z kaszanką



Dołączył: 13 Mar 2006
Posty: 1745
Przeczytał: 0 tematów

Skąd: koło podbiegunowe

PostWysłany: Śro 22:34, 12 Kwi 2006    Temat postu:

Madras napisał:
I znowu shl/shr... Założę się, że bez przesunięć bitowych, czyli normalnym i div 2/ * 2 bez problemu to zadanie przejdzie. Z igły widły...


Może i tak ale jakoś lepiej się czuję widząc shl / shr zamiast powolnego mnożenia / dzielenia. :twisted:
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
trywialna
pijak



Dołączył: 12 Mar 2006
Posty: 257
Przeczytał: 0 tematów

Skąd: z kontowni:)

PostWysłany: Śro 22:44, 12 Kwi 2006    Temat postu:

Panowie mam jeszcze jedno pytanie.. po co w procedurze downheap wybiera sie wiekszego z nastepników? Ja bo nie moge znaleźć żadnego powodu...
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
hansu
Nieomylny Admin



Dołączył: 17 Lis 2005
Posty: 1990
Przeczytał: 0 tematów

Skąd: przychodzimy? Czym jestesmy? Dokad zmierzamy?

PostWysłany: Śro 23:01, 12 Kwi 2006    Temat postu:

Bo jakbys wybrala mniejszego i wstawila go na miejsce ojca tych dwoch to zaburzyloby to warunek kopca. Spojrz:
Kod:

   1
 /  \
2    3

Powiedzmy ze to max_kopiec (czyli wyzej maja byc wieksze) i wlasnie wstawilas jedynke i chcesz ja przesiac. Gdybys wybrala 2 to powstaloby:
Kod:

   2
 /  \
1    3

a to nie spelnia warunku kopca (2 nie jest wieksze od 3). Wiec musisz wybrac 3 i wstawic na gore.
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Rogal
Zjeb z kaszanką



Dołączył: 13 Mar 2006
Posty: 1745
Przeczytał: 0 tematów

Skąd: koło podbiegunowe

PostWysłany: Śro 23:03, 12 Kwi 2006    Temat postu:

trywialna napisał:
Panowie mam jeszcze jedno pytanie.. po co w procedurze downheap wybiera sie wiekszego z nastepników? Ja bo nie moge znaleźć żadnego powodu...


Po to, żeby ewentualnie zamienić ojca właśnie z tym większym następnikiem.

Jeśli masz np. ojca o wartości 5 i jego dzieci o wartościach 7 i 3 to musisz zamienić ojca z dzieckiem o wartości 7 żeby przywrócić wartość kopca (tj. ojciec większy od dzieci). Wtedy po zamianie będzie w ojcu 7 a w dzieciach 5 i 3 czyli wszystko się zgadza.

Poza tym, dla jasności, jeśli zdarzy się tak, że ten większ następnik jest mniejszy od ojca to nic nie zamieniasz i przerywasz działanie przesiewania.
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
trywialna
pijak



Dołączył: 12 Mar 2006
Posty: 257
Przeczytał: 0 tematów

Skąd: z kontowni:)

PostWysłany: Śro 23:15, 12 Kwi 2006    Temat postu:

No tak:) Dzięki chłopaki:*
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
trywialna
pijak



Dołączył: 12 Mar 2006
Posty: 257
Przeczytał: 0 tematów

Skąd: z kontowni:)

PostWysłany: Czw 14:04, 13 Kwi 2006    Temat postu:

Gdzie wy ludziska trzymacie kolejnosc z jaka pracownik ma isc do gabinetow? bo ja zrobilam kopiec jako tablice rekordow i tam tez to trzymam jako longint, ale jednak za duzo pamieci mi to zrzera:/
Powrót do góry
Zobacz profil autora
Wyświetl posty z ostatnich:   
Napisz nowy temat   Odpowiedz do tematu    Forum Informatyka UJ forum Strona Główna -> Archiwum / 1 rok / 2 i 3 semestr - Algorytmy i Struktury Danych Wszystkie czasy w strefie EET (Europa)
Idź do strony Poprzedni  1, 2, 3, 4  Następny
Strona 2 z 4

 
Skocz do:  
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach

fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001, 2005 phpBB Group
Regulamin