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 M - Piaskarka
Idź do strony 1, 2, 3  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ść
Pandunia
Gość






PostWysłany: Pon 1:22, 10 Kwi 2006    Temat postu: Zadanie M - Piaskarka

[deleted]

Ostatnio zmieniony przez Pandunia dnia Pią 5:39, 10 Lis 2006, w całości zmieniany 1 raz
Powrót do góry
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
exeman
Mistrz grilla



Dołączył: 03 Lut 2006
Posty: 1603
Przeczytał: 0 tematów

Skąd: znienacka

PostWysłany: Pon 2:04, 10 Kwi 2006    Temat postu:

Pandunia: Bo sie nie wykluciles i dales zrobic w balona. Taka prawda. :/
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: Pon 8:54, 10 Kwi 2006    Temat postu:

Tylko to przeczytałem, ale mam wrażenie ze nie jest to trywialne zadanie... powiedziałbym nawet ze całkiem wymagające...
A tu jeszcze AVL na głowie :(
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Yoter
zielony żul



Dołączył: 19 Lis 2005
Posty: 1033
Przeczytał: 0 tematów

Skąd: Gościeradów

PostWysłany: Pon 13:29, 10 Kwi 2006    Temat postu:

głowa do góry na pewno da się to zrobić w godzinkę :D
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: Pon 17:33, 10 Kwi 2006    Temat postu:

Właśnie miałem olśnienie na ćwiczeniach z ASD i wymyśliłem, jak zrobić M. Znajdujemy najpierw cykl Eulera, a potem rozwiązujemy zadanie "Lot na Marsa" z 2 etapu XII OI:

[link widoczny dla zalogowanych] - tu jest gdzieś opis
[link widoczny dla zalogowanych] - tu gdzieś jest program firmowy

Ech... stare czasy... zrobiłem to zadanie na 100pkt wtedy. Szkoda, że to był tylko dzień próbny.
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: Pon 20:49, 10 Kwi 2006    Temat postu:

Spectro dokładnie to samo u mnie ;]. A kolejne dni poszły tak, że szkoda gadać ;].
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 3:19, 12 Kwi 2006    Temat postu:

Przepchnalem to zadanie... Az normalnie uwierzyc w to nie moge... To byla jedna wielka improwizacja... Pod koniec kodowania zorientowalem sie ze w sumie wszystko dobrze wypisuje tylko nie bardzo mam jak znalezc jedna rzecz - kierunek w ktorym jezdzie piaskarka (pierwsze skrzyzowanie przez ktore przejezdza). No i lipa, zalamka, cale "flaki" do przerobki, bo projektujac strukture danych nie pomyslalem w ogole ze to mi moze byc potrzebne... Ale pomyslalem ze raz kozie smierc i zaczalem sztukowac... Dodalem cos do struktury danych, jakies dziwne fory, ktorych zakresy opracowalem metoda prob i bledow na przykladowym tescie i w sumie stwierdzilem, ze przeciez to NIE MOZE dzialac... Ale coz raz kozie smierc, poslalem i.... OK. Normalnie jaja jak berety :D:D:D

Tak wiec uczcie sie na cudzych bledach i DOKLADNIE zaprojektujcie sobie strukture danych do tego... Naprawde, to jest kluczowa czesc tego zadania. Sam algorytm to euler zerzniety z forum TCS i jeden krotki for na wyszukanie elementu minimalnego z tablicy... Niestety jesli chodzi o testy to jest gorzej niz zle... Nawet przykladowy daje mi zupelnie inne wyniki i nie sadze zeby ktos pokusil sie o generator testow do tego (generator moze jeszcze ok ale program ktory sprawdzi czy podany output jest jednym z bardzo wielu poprawnych to juz bedzie ciezko :/) A i konstruowanie samemu testow jest mordercze... Takze zadanie w stylu totolotek: albo dziala za pierwszym razem, albo piszemy od nowa :/ W kazdym razie powodzenia w pisaniu tego zadanka, jakby co to postaram sie tutaj na forum odpowiadac na ewentualne pytania...
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
jagm
zielony żul



Dołączył: 01 Lut 2006
Posty: 1421
Przeczytał: 0 tematów


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

Jakoś udało mi się przepchnąć to zadanie, choć nie obyło się bez głupich błędów. Pierwszy i chyba najpoważniejszy, to złe obliczanie ilości piasku w piaskarce. Dlatego jak będziecie to robić, to pamiętajcie, że piaskarka jedzie od połowy pierwszej drogi do połowy drugiej, itd. Ja pamiętałem o tej połowie tylko dla drogi, od której zaczynała, a potem już się wszystko sypało. Druga sprawa, to dodawanie piasku w odpowiednim momencie, bo to również na początku miałem źle. No i na koniec to wybranie odpowiedniego elementu, od którego należy zacząć, bo z tym nigdy nie wiadomo ;]
Poza tym wszelkie uwagi, które podał hansu, a przede wszystkim prawidłowa struktura danych, bo ja w trakcie musiałem dodawać pełno zmiennych pomocniczych i dodatkowych tablic.

hansu napisał:
Niestety jesli chodzi o testy to jest gorzej niz zle... Nawet przykladowy daje mi zupelnie inne wyniki i nie sadze zeby ktos pokusil sie o generator testow do tego (generator moze jeszcze ok ale program ktory sprawdzi czy podany output jest jednym z bardzo wielu poprawnych to juz bedzie ciezko :/)

Myślę, że stworzenie programu, który będzie sprawdzał, czy podany wynik jest dobry nie będzie problemem. Jedynie kwestia czasu (wolnego). Nie wiem jak z generatorem, bo to już wydaje się odrobinę bardziej skomplikowane, ale czego się już na asd nie robiło ;)
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
mateo
pijak



Dołączył: 08 Mar 2006
Posty: 296
Przeczytał: 0 tematów

Skąd: Krk - Biały Prądnik

PostWysłany: Czw 19:22, 13 Kwi 2006    Temat postu:

jagm napisał:
Myślę, że stworzenie programu, który będzie sprawdzał, czy podany wynik jest dobry nie będzie problemem. Jedynie kwestia czasu (wolnego). Nie wiem jak z generatorem, bo to już wydaje się odrobinę bardziej skomplikowane, ale czego się już na asd nie robiło ;)


Wedlug mnie to wiekszym problemem jest napisanie programu, ktory sprawdza czy podany wynik jest dobry. Bo przeciez nie mozna nic zalozyc o tym co wypluwa na wyjscie jakis program. Naprzyklad ktos moze sobie zapomniec wykomentowac linijki z debugami no i w miejscu gdzie powinna zostac wypisana jakas liczba moze sie pojawic ciag znakow. No i trzeba tak zrobic zeby wszystkie takie rzeczy zostaly wylapane... I trzeba sie z tym troche nameczyc.
No w kazdym razie wlasnie dzisiaj napisalem ten generatorek i program sprawdzajacy i o ile sam generator mi sie stosunkowo szybko udalo skodowac to ten program do sprawdzania to byla masakra - wiecej sie nameczylem z tym programem niz z calym zadankiem M:). Jakby komus to zle dzialalo na testerce to dajcie znac.
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
jagm
zielony żul



Dołączył: 01 Lut 2006
Posty: 1421
Przeczytał: 0 tematów


PostWysłany: Czw 19:41, 13 Kwi 2006    Temat postu:

mateo napisał:
Bo przeciez nie mozna nic zalozyc o tym co wypluwa na wyjscie jakis program. Naprzyklad ktos moze sobie zapomniec wykomentowac linijki z debugami no i w miejscu gdzie powinna zostac wypisana jakas liczba moze sie pojawic ciag znakow. No i trzeba tak zrobic zeby wszystkie takie rzeczy zostaly wylapane... I trzeba sie z tym troche nameczyc.

Fakt, o tym nie pomyślałem
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Makros
pijak



Dołączył: 01 Gru 2005
Posty: 420
Przeczytał: 0 tematów

Skąd: Kraków

PostWysłany: Pią 20:03, 14 Kwi 2006    Temat postu:

A ja mam pytanie... u kogo/gdzie znajdują się testy poprawnościowe do tego zadanka... bo chętnie bym je sobie oblookał... :)
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: Pią 21:05, 14 Kwi 2006    Temat postu:

Jesli chodzi o testy z Quicktesta to wszystkie sa u Matea (odkad mu quote powiekszyli to moze chlopak szalec :P) w katalogach do ktorych sciezek nie pamietam, ale sa one w topicu o testerce 2.0...
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: Nie 0:11, 16 Kwi 2006    Temat postu:

W końcu poszło. Ciągle się zastanawiam jak mogłem zrobić tyle błędów w zadaniu na 96 linii :shock:
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: Nie 9:54, 16 Kwi 2006    Temat postu:

Rogal napisał:
W końcu poszło. Ciągle się zastanawiam jak mogłem zrobić tyle błędów w zadaniu na 96 linii :shock:

Ja tak samo zastanawiałem się w zadaniu H, które również miało u mnie poniżej 100 linijek :) .
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
kap00ch
Mistrz grilla



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

Skąd: ja sie tu wzialem?

PostWysłany: Pon 14:08, 17 Kwi 2006    Temat postu:

hehe...taki maly lol :P sprapralem tez sprawe z kierunkiem czytaj wypisywaniem pierwszego skrzyzowania...sam porobilem nie wiem co i moim zywczajem a noz widelec sie uda poszlo :D pomimo ze nie mam pojecia jakim cudem bo wg mnie jest zle...ale co tam :p

tak wiec jeszcze raz...LUDZIE PRZEMYSLCIE SPRAWE WYPISANIA KIERUNKU! oraz sama STRUKTURE :]
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 13:24, 19 Kwi 2006    Temat postu:

To zadanie jest zwalone. Teraz już nawet nie wiem, czemu mi działa (przepchnąłem przez Athinę i mam same OK na testerce matea O_o). A program ma tylko 80 linijek.

Historia błędów w tym algorytmie jest długa i kręta. Łatałem je na chama (weryfikator skrzyżowania na końcu, zmiana jednej zmiennej z głębokości rekurencji na wielkość stosu, itd.). Miałem: ANS (3 rodzaje: "skończył się piasek", "błędne skrzyżowanie", "ścieżka niespójna"), TLE, RD9, R29, R30 i R32 (cztery ostatnie - WTF??).

No i czemu wystarcza JEDEN cykl Eulera?
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 15:27, 19 Kwi 2006    Temat postu:

Spectro napisał:
No i czemu wystarcza JEDEN cykl Eulera?


To akurat prosta sprawa. W każdym cyklu Eulera masz wszystkie ścieżki a istnienie lub nieistnienie odpowiedniej trasy jest uzależnione od tego, czy suma piasku we wszystkich magazynach na ścieżce jest większa (równa) od długości trasy. Jeśli tak jest to zawsze możesz znaleść takie miejsce na trasie, że jak od niego zaczniesz to będzie OK. Więc de facto nie ma znaczenia jaki weźmiesz cykl Eulera.
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:55, 19 Kwi 2006    Temat postu:

@Rogal: Twoje wyjaśnienie co prawda potwierdza moje przypuszczenia, ale ja tego ani nie udowadniałem, ani nikt mi nie wyjaśnił, że to jest prawda. Czysta intuicja, ale za to jak skuteczna :P . Jeszcze to na spokojnie przeanalizuję...
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Krisowski
pijak



Dołączył: 05 Mar 2006
Posty: 218
Przeczytał: 0 tematów

Skąd: z nikąd

PostWysłany: Pią 0:43, 21 Kwi 2006    Temat postu:

Mam prośbę. Czy ktoś mógłby opisać jak zrobił to zadanie, bo ja nawet nie bardzo wiem od czego zacząć :?
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Makros
pijak



Dołączył: 01 Gru 2005
Posty: 420
Przeczytał: 0 tematów

Skąd: Kraków

PostWysłany: Pią 1:19, 21 Kwi 2006    Temat postu:

Przed chwilką dostałem OK'eja więc spróbuje wytłumaczyc...

Gdy masz już wczytane dane, to musisz znaleźć wśród tych skrzyżowań cykl eulera... jakikolwiek... to nie ma znaczenia... najprościej można to zrobić algorytmem podanym dziś na wykładzie (to samo jest podane na forum tcs...)...

Gdy już mamy ten cykl to trzeba teraz znaleźć skrzyżowanie z którego będziemy startować... (od razu zaznaczam, że nie trzeba sprawdzać tego cyklu w obie strony... wystarczy w jedną... ponieważ w każdym kierunku istnieje taki conajmniej jeden najlepszy do startu punkt...) :D

Robisz to tak:
wybierasz losowy wierzchołek z którego zaczniesz sprawdzanie... Idziesz tym cyklem ciągle uaktualniając stan piaskarki, gdy w pewnym momencie stan piasku spadnie poniżej zera, to nie przerywasz, ale kontynuujesz... a ten minimalny stan i miejsce w którym to nastąpiło zapamiętujesz... gdy sytuacje gdzieś za chwilkę się powtórzy to sprawdzasz gdzie mniałeś mniej piasku i wtedy zapamiętujesz... Potem wystarczy wypisać ten cykl zaczynając w punkcie gdzie miałeś najwiekszy debet piasku...

Mam nadzieje, że ująłem to w miare zrozumiale...

Wiem, że to brzmi to troszke podejrzanie, ale przeanalizuj sobie jakiś przykład i zobaczysz, ze to rozwiązanie jest całkiem logiczne... :)
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: Pią 7:26, 21 Kwi 2006    Temat postu:

@Krisowski
Trzeba jeszcze dodać, że jak dojdziesz ponownie do punktu początkowego (a napewno w końcu dojdziesz bo cykl Eulera jest cyklem :roll: ) to musisz sprawdzić, czy ilość piasku która ci została w piaskarce po przejechaniu całej trasy jest większa (równa) od zera. Jeśli tak to znaczy że starczy Ci piasku na przejechanie całej trasy i wypisujesz trasę tak jak napisał Makros, wpp nie da się całej trasy przejechać i wypisujesz 'NIE'.
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
smh
[świeżak]



Dołączył: 05 Mar 2006
Posty: 21
Przeczytał: 0 tematów


PostWysłany: Pią 13:46, 21 Kwi 2006    Temat postu:

Ja powiem tyle...

[link widoczny dla zalogowanych]
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: Pią 13:58, 21 Kwi 2006    Temat postu:

Haha dobre ;].
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: Pią 17:04, 21 Kwi 2006    Temat postu:

No to wszystko sprowadza się do innej niebiekiej książeczki niż podałem po prostu :P .

Swoją drogą, zadanie pasuje na finał... nie jest wcale takie oczywiste.
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
mateo
pijak



Dołączył: 08 Mar 2006
Posty: 296
Przeczytał: 0 tematów

Skąd: Krk - Biały Prądnik

PostWysłany: Pią 17:15, 21 Kwi 2006    Temat postu:

Spectro napisał:
Swoją drogą, zadanie pasuje na finał... nie jest wcale takie oczywiste.


Jak na final to za proste :P
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 1, 2, 3  Następny
Strona 1 z 3

 
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