|
Informatyka UJ forum Rocznik 2005 - czyli najlepsze forum w sieci
|
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
|
Wysłany: Sob 15:59, 22 Kwi 2006 Temat postu: |
|
|
No i nie zdążyłem raków :?
|
|
Powrót do góry |
|
|
|
|
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 :]
|
Wysłany: Sob 22:51, 22 Kwi 2006 Temat postu: |
|
|
A jak słowa? Bo moje zachłanne dostały 2 punkty. Pole nlogn 9 punktów. Zawsze coś, może mi zapewnić koszulkę ;).
BTW Mateo gratulacje, i powodzenia. Dokop TCSowcom :twisted:.
|
|
Powrót do góry |
|
|
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
|
Wysłany: Nie 0:36, 23 Kwi 2006 Temat postu: |
|
|
@Madras:
Moje pole liniowe dostało chyba 6pkt. Gdzieś zmienna wychodziła poza zakres dla dużych zestawów :( . A specjalnie o tym pomyślałem i używałem long long'a do zapamiętywania wyników. Jakoś tak z obliczeń mi wynikało, że taki rozmiar w zupełności wystarczy.
btw. wie ktoś jak wypisać long long'a printf'em?
A co do słów to moje dynamiczne dostały 5, ale poprawności jak zwykle bozia poskąpiła. Z tym, że tutaj to raczej nie chodzi o szczegóły, a po prostu cały algorytm był do bani.
O rakach to się nawet wypowiadał nie będę. Trzeba mi było chodziaż bruta wysłać, pewnie 2-3 pkt. bym dostał :D A tak okrągłe 0.
@Mateo:
Gratulacje, trzymam za Ciebie kciuki w dalszej fazie. A mógłbyś jeszcze wytłumaczyć na czym polegał twój algorytm ze słowami?
A jeszcze apropo tych obecnych 4 zadań, to na pierwszy rzut oka 2 z nich wyglądają na banalne, 1 na do-przełknięcia i 1 na NPC :lol: - czyli (biorąc pod uwagę że są 2 dni) na prostsze niż ostatnio. To dla mnie w sumie niespodzianka :shock:
|
|
Powrót do góry |
|
|
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
|
Wysłany: Nie 1:18, 23 Kwi 2006 Temat postu: |
|
|
Rogal napisał: | btw. wie ktoś jak wypisać long long'a printf'em? |
printf("%lld\n", x); //gdzie x to zmienna typu long long
// jesli sie nie myle mozna tez: printf("%Ld\n", x); ale ja uzywam pierwszego sposobu
Jesli cjhodzi o zadanko raki to ono sie moglo wydawac po przeczytaniu tresci dosyc trudne ale w zasadzie to ono bylo najprostsze z tych 3ech zadan - polegalo ono jedynie na tym zeby wpasc na to zeby sobie stworzyc graf w ktorym kazdy wierzcholek ma 2 stany (lub po prostu dla kazdego wierzcholka stworzyc 2 wierzcholki - jeden odpowiadajacy stowi '1' - gdy rak jest w pozycji 'wspak', a drugi odpowiadajacy stanowi '0', gdy rak jest w pozycji normalnej). I w takim grafie sobie tworzymy teraz po prostu za kazdym razie 2 krawedzie (dla kazdej wczytywanej krawedzi) jesli jest to krawedz typu '0' to dodajemy jedna krawedz idacego z pierwszego wierzcholka w stanie '0' do drugiego wierzcholka w stanie '0' oraz druga krawedz z drugiego wierzcholka w stanie '1' do pierwszego wierzcholka w stanie '1', no a w przeciwnym wypadku (gdy krawedz jest specjalna) to dodajemy 2 krawedzie: jedna idzie od pierwszego wierzchola w stanie '0' do drugiego wierzcholka w stanie '1' a druga od drugiego wierzcholka w stanie '1' do pierwszego wierzcholka w stanie '0'. No i jak juz mamy taki graf to znajdujemy w nim silnie spojne skladowe i w kazdej silnie spojnej skladowej zliczamy ilosc roznych wierzcholkow (bo sie moze okazac ze w jednej silnie spojnej moga sie znalec dwie wersje tego samego wierzcholka rozniace sie tylko stanem), no i teraz dla kazdego wierzcholka w stanie '1' sprawdzamy ile innych roznych wierzcholkow znajduje sie w jego silnie spojnej skladowej i to jest szukana liczba przyjaciol do ktorych moze dojsc rak z danego domku....... no mam nadzieje ze zrozumiale to opisalem :)
Rogal napisał: | A mógłbyś jeszcze wytłumaczyć na czym polegał twój algorytm ze słowami? |
Co sie tyczy slow to w sumei sam kod jest u mnie krotszy niz w rakach, bo jakies 40 linijek ma... no ale w opisaniu to moze mi sprawic wiekszy klopot.... tzn z grubsza rzecz biorac chodzilo o to zeby napisac algorytm dynamiczny, ktory bedzie dziaial mniej wiecej tak:
zalozmy ze mamy obliczona minimalna "lawosc" slowa n-literowego dla kazdego 'k' od od zera do maxymalnej watosci 'k' i przy zalozeniu ze ostatnia litera wynosi odpiwednio 'A' ... 'Z'. Czyli defakto chodzi o to ze mamy dla slowa n-literowego obliczona tablice dwuwymiarowa o rozmiarze kx26, (powiedzmy jest to tablica T), gdzie T[i][j] oznacza minimalna latwosc tegho slowa nliterowego gdy zamieniamy conajwyzej 'i' liter oraz ostatnia litera to 'A' + j; No i majac taka tablice mozemy teraz dokladnei analogiczna tablice obliczyc dla slowa n+1 - literowego. Trzeba tutaj oczywiscie sprawdzic 2 przypadki (gdy zmieniamy aktualna litere lub gdy jej nie zmieniamy), no ale to juz chyba widac mniej wiecej jak zrobic...
No i teraz majac juz aalgorytm potrafiacy przerobic ta tablice dla slowa n-literowego na tablice dla slowa n+1 literowego wystarczy ze zapuscimy przetwarzanie tej teablicy wczytujac kolejne litery slowa. liter bedziemy miec 'n', przetworzenie tablicy to czac k*26. Wiec w sumei algorytm ma zlozonosc n*k*26. (da sie jakos zlikwidowac rozmiar alfabetu ze zlozonosci ale nie wiem jak).
Rogal napisał: | A jeszcze apropo tych obecnych 4 zadań, to na pierwszy rzut oka 2 z nich wyglądają na banalne, 1 na do-przełknięcia i 1 na NPC :lol: - czyli (biorąc pod uwagę że są 2 dni) na prostsze niż ostatnio. To dla mnie w sumie niespodzianka :shock: |
Jak dla mnie to te nowe zadania na pierwszy rzut oka wydaja sie jednak 'ciut' trudniejsze niz ostatnio :) . Wiem jak zrobic swiatynie, ale to jest naprawde w pizdu i jeszcze troche kodowania, a na dodatek to liczby zmiennoprecinkowe wiec latwo mozna sie pomylic. Proste tez mi sie wydaja raczej znosne. Na mrowke nie mam jeszcze pomyslu, ale napisze sobie sumulator i sprawdze jakie wartosci wychodza dla malych wartosci 'k' - moze cos z tego bedzie sie dalo wywnioskowac.. w kazdym razie poki co to nie wiem jak to zrobic. No a czwarte zadanko to rzeczywiscie proste nie jest :) i trzeba bedzie sie dosc ostro napraacowac nad przeroznymi heurestykami i optymalizacjami - w zeszlym roku bylo analogiczne zadanko - formuly. Tez byly do niego podane testy i trzeba bylo wlasnie bawic sie w rozne heurystki zeby wygenerowac odpowiedzi - w sumie fajna zabawa z tym jest :D.
|
|
Powrót do góry |
|
|
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
|
Wysłany: Nie 23:07, 23 Kwi 2006 Temat postu: |
|
|
Zacząłem kminić mrówki. Najpierw trochę myślałem, potem zrobiłem jakiegoś bruta żeby mi liczył początkowe wartości. Znalazłem jakieś zależności. Z tych zależności jakieś kolejne zależności.... Bynajmniej całkiem ciekawe. Ale dalej nie widzę sposobu żeby to zrobić szybciej niż liniowo względem ilości ścieżek :cry: Może rano mnie oświeci :wink:
|
|
Powrót do góry |
|
|
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
|
Wysłany: Pon 13:52, 24 Kwi 2006 Temat postu: |
|
|
Mrowki sa bardzo proste... tzn dopiero potem sie o tym dowiedzialem :) bo sam zrobilem tak zamotanym sposobem ze masakra. Wykminilem rozne wzory rekurencyjne no a majac wzor rekurencyjny mozna latwo zrobic tak zeby obliczac n-ty wyraz takiego ciagu w czasie (lgn)^2... Wystarczy bowiem obliczyc wszystkie wyrazy postaci 2^k - a kazdy taki wyraz mozemy policzyc w czasie conajwyzej lgn. A majac policzone juz takie wyrazy tego ciagu mozemy potem dla dowolnego n obliczyc w czasie conajwyzej (lgn)^2 n-ty wyraz tego ciagu. No i ja wlasnie tak to mam zrobione. Z tym ze to zadanie da sie zrobic tak ze tworzymy sobei macierz reprezentujaca ten graf i podnosimy ja do potegi rownej dlugosci sciezki i po sprawie :D. Latwo mozna sprawdzic ze to dziala.
|
|
Powrót do góry |
|
|
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
|
Wysłany: Wto 18:55, 25 Kwi 2006 Temat postu: |
|
|
Rzućże prosze tym wzorem na liczenie n-tego wyrazu w czasie (lgn)^2...
Ja w tym zadaniu doszedłem do wzoru x(n)=-(x(n-1)+2*x(n-2)) i nic dalej nie mogłem z tym zrobić...
A świątynie jak robiłeś? Dijkstra(przeszła?)? Czy można było jakoś szybciej?
|
|
Powrót do góry |
|
|
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
|
Wysłany: Śro 11:42, 26 Kwi 2006 Temat postu: |
|
|
Tak na wstepie to powiem ze piszac tego posta sobei liczylem dokladnei ta zlozonosc i mi wyszlo jednak ze ta zlozonosc jest troche inna:
samo obliczanie n-tego wyrazu odbywa sie w czasie lgn*(lgn + D)*D, lecz stworzenie strktury umozliwiajacej to zajmuje czas ((lgn)^2)*(lgn + D)*(D^2), gdzie D to ilosc wyrazow we wzorze rekurencyjnym potrzebnych do obliczenia wyrazu n-tego...
-------------------------------------------------------------------------------------
Ja w moim rozwiazaniu mialem 6 wzorow :) tzn pierwszy wzor byl rekurencyjny wzgledem siebie a 5 pozostalych odwolywalo sie do pewnych wartosci pierwszego wzoru.... a ten pierwszy mialem postaci: a(n) = a(n - 2) + 8*a(n - 4) + 16*a(n - 8 ), gdzie a(0) = 1/2, a(2) = 0, a(4) = 2; Juz nie pametam skad mi to wyszlo ale wiem ze dziala :D.... No ale sama postac wzoru jest w sume niewazna...
Rogal napisał: | Ja w tym zadaniu doszedłem do wzoru x(n)=-(x(n-1)+2*x(n-2)) i nic dalej nie mogłem z tym zrobić... |
Wedlug mnie jesli sie juz znajdzie jakis wzor rekurencyjny ktory oblicza poprawnie wynik to to juz jest naprawde polowa sukcesu, bo nie ma zbyt duzego problemu zeby obliczenie dowolnego n-tego wyrazu tego ciagu wyrazonego tym wzorem obliczyc w czasie szybszym niz liniowym...
W zaleznosci od posatci wzoru zlozonosc oczywiscie czegos takiego moze byc rozna, ale konkretnie dla mojego lub twojego wzoru bedzie to rzedu (lgn)^3 (a dokladniej mowiac dla dowolnego wzoru ktory odwoluje sie do pewnej stalej ilosci wyrazow bezposrednio przed wyrazem n-tym bedzie to taka zlozonosc jak napisalem na samym poczatku posta - pewnie sie to da zrobic szybciej ale tym sposobem ktory opisze nizej bedzie wlasnie tyle.... tzn chyba tyle:))
No a robimy to tak:
//To co bedzie nizej bedzie konkretnie odnosilo sie do twojego wzoru, ale mozna to podpiac do kazdego wzoru takiego jak tam napisalem wyzej//
Obliczamy wszystkie wyrazy postaci x(2^k). Tylko dla kazdego takiego wyrazu najwazniejsza rzecza ktora musimy obliczyc to nie jest sama wartosc tego wyrazu - bo z tego w sumei nie bedziemy korzystac -, wazne tutaj jest to, zeby wyraz postaci x(2^k) umiec zapisac w postaci wyrazow x(1) i x(0) (bo skoro x(n) odwoluje sie do dwoch poprzednich wartosci to x(1) i x(0) musza byc jakos z gory zdefiniowane jako stale), i dla kazdego wyrazu x(2^k) musimy obliczyc wspolczynniki a1 i a0 przy x(1) i x(0) takie ze x(2^k) = a1*x(1) + a0*x(0) (wiadomo ze cos takiego obliczyc sie da) i wlasnie obliczenie tych wspolczynnikow ogrywa kluczowa role w tym algorytmie...
No wiec zalozmy ze obliczylismy sobie te wspolczynniki (nizej napisze jak to obliczyc, ale sie to robi w sumei dokladnie tak samo jak obliczanie n-tego wyrazy gdy juz mamy te wspolczynniki oblliczone). No to pierwsza rzecza jaka mozna zauwazyc to to ze taki sposob zapisu wyrazu x(2^k) jest bardzo uniwerslany poniewaz uzywajac tych wspolczynnikow mozemy sobie teraz zapisac powiedzmy x(2^k + m) jako: x(2^k + m) = a1*x(m + 1) + a2*x(m) (gdzie a1 i a0 to wspolczyniki dla x(2^k) - czemu to jest poprawne chyba widac mam nadzieje.... ). Korzystajac z tej obserwacji zapuszczay algorytm obliczania n-tego wyrazu ktory dziala tak:
1. znajdz najwieksza potege dwojki <= n (zalozmy ze ta potega 2 to jakies 'p')
2. oblicz rekurencyjnie wartosci wyrazow x(n - p + 1) oraz x(n - p) (przyjmijmy ze y1 = x(n - p + 1), y0 = x(n - p) )
3. uzywajac wspolczynnikow dla x(p) zwroc wynik jako: a1*y1 + a2*y2, gdzie y1 i y0 to to co wyzej, a a1 i a0 to wspolczynniki dla x(p)
I to jest z grubsza caly algorytm z tym ze zapisanie tego wprost tak jak ja teraz napisalem by dzialalo w pesymistycznym czasie liniowym. Dlatego potrzebujemy tutaj dodatkowej struktoru ktora zapewni ze nie bedziemy tego samego wyrazu obliczac miliony razy - pomocna bedzie tutaj tablica haszujaca w ktorej bedziemy spamietywac obliczone juz wartosci (kluczami w tablicy beda pary (n, wynik) a kaszowanie odbywac sie bedzie po wartosci 'n')- jak ktos pisze w c++ to tablica haszujaca to naporzyklad hash_map z STLa, a jak ktos pisze w pascalu to powiem tyle ze ma lipe bo sobei to musi napisac sam :P. I teraz do tego algorytmu napisanego wyzej trzeba dodac taka modyfikacje ze jesli wyraz ktory chcemy obliczyc jest juz obliczony (bo w wywolaniach rekurencyjnych mozemy sie wiele razy odwolywac do elementow do ktoych juz sie odwolywalismy w innych wywolaniach) i jego wynik jest w tej tablicy haszujacej to nie wywolujemy dalej rekurencyjnego obliczania tylko od razu zwracamy wynik. No i teraz jest to juz koniec algorytmu.
No a jeszcze jakby kogos interesowalo czemu to dziala w czasie lgn*(lgn + D)*D ? No to dlatego tak jest bo:
maxymalna ilosc takich skokow o pewna potege dwojki wstecz jest rowna lgn co raczej napewno widac... lecz z kazdym skokiem wstecz zwieksza sie ilosc elementow do obliczenia o 1 (a czemu tak jest to za chwile.. w kazdym razie jesli tak jest to napewno jest prawdziwa dalsza czesc tego zdania...) co prowadzi do tego ze w sumei bedziemy musieli obliczyc wartosci dla lgn*(lgn + D) wyrazow.. (w twoim lub moim wzorze D mozna pominac..), a dla kazdego wyrazu musimy sprawdzic D wspolczynnikow.
No a ze ilosc elementow z kazdym skokiem zwieksza sie o jeden dlatego ze jak chcemy obliczyc x(e) to najpierw obliczamy jakies tam x(q + 1) i x(q); zeby obliczyc x(q + 1) to bedziemy najpierw musili oblizyc jakies tam x(w + 2) i x(w + 1), a zeby obliczyc x(q) bedziemy musieli najpierw obliczyc x(w + 1) i x(w) (oczywiscie roznica pomiedzy e i q to jakas potega dwojki oraz roznica pomiedzy q i w to tez jakas potega dwojki) no i jak widac pojawiaja sie dwa razy te same wyrazy x(w + 1), ktore wystarczy ze policzymy tylko raz. Moglibysmy sobie narysowac takie drzewo tych wywolan rekurencyjnych i kazdy poziom tego drzewa to bylyby pewne kolejne liczby naturalne dla ktorych musimy obliczyc wartosci zeby obliczyc wyniki na poziomie o jeden wyzszym, z tym ze wiadomo ze aby obliczyc wartosci na danym poziomie musimy obliczc najpierw 2 razy wiecej wyrazow na poziomie o jeden nizszym (z tym ze n - 1 wyrazow bedzie sie powtarzac) dlatego tak naprawde musimy obliczyc jedynie o jeden wiecej wyraz na poziomie o jeden nizszym.
Gdyby z algorytmu wywalic ta tablice haszujaca to zlozonosc by wzrosla do O(n) (tzn konkretnie dla twojego wzoru tyle wyjdzie...., dla mojego wzoru by to bylo wtedy 3^(lgn)) bo musilibysmy obliczyc pesymistycznie dokladnie: 2^(lgn) (bo obliczalibysmy zawsze wszystkei powtarzajace sie wyrazy kilka razy czyli z kazdym poziomem wywolan ilosc wyrazow do policzenia by sie podwajala) wyrazow a to jest wlasne rowne n.
No a teraz jeszcze potrzebne jest samo obliczenie wspolczynnikow dla poteg dwojki. Robi sie to prawie tak samo jak obliczanie n-tego wyrazu. Z tym ze wynikiem tej funkcji rekurencyjnej nie moze byc wartosc tego wyrazu lecz wspolczynniki przy x(1) i x(0) takie ze dany wyraz to a1*x(1) + a0*x(0). Wywolania reurencyjne sa analogiczne, tzn znajdujemy najwieksza potego dwojki ktora jest silnie mniejsza od wartosci n (roznica tutaj jest taka ze ta potega nie moze byc rowna n bo na poczatku n jest wlasnei ta potega dla ktorej wartosc ktora dopiero policzymy... :) ) i obliczamy rekurencyjnie najpierw dwa wyrazy tak jak w punkcie 2. Z wywolan rekurencyjnych otrzymujemy jako wyniki wspolczynniki dla tych wyrazow (dla y1 i y0 tak jak w punkcje 2.), no i teraz musimy te wspolczynniki jakby scalic zeby zwrocic wynik. No wiec bierzemy wspolczynniki z y1 mnozymy je przez a1 (a1 jest wspolczynnikiem przy p - tej najwiekszej silnie mniejszej potedze 2)
oraz bierzemy wspolczynniki z wyniku wywolanai rerencyjnego dla y0 i mnozymy je przez a0 (drugi wspolczynnik dla p). Teraz sumujemy po wspolrzdnych to co nam wyszlo i zwracamy to jako wynik. Mam nadzieje ze widac ze to dziala ok...
Tutaj potrzebujemy policzyc lgn wyrazow i kazdy obliczamy w czasie lgn*(lgn + D)*(D^2). D^2 jest stad ze scalenie wspolczynnikow z wywolan rekurencyjnych jest kwadratowe.
No dobra to by chyba bylo wszystko. Jak znajde bledu ktore tutaj napisalem to jeszcze je poprawie, ale z grubsza to mam nadzieje ze idea jest zrozumiala, bo sie w miare dokladnie to staralem opisac, bo ten sposob sie naprawde przydaje czasem. A dodatkowo jest to naprawde bardzo latwe w implementacji. Te funkcje rekurencyjne maja gora 20 linijek.
|
|
Powrót do góry |
|
|
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
|
Wysłany: Śro 12:37, 26 Kwi 2006 Temat postu: |
|
|
Mateo jesteś wielki 8)
|
|
Powrót do góry |
|
|
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 :]
|
Wysłany: Czw 10:41, 27 Kwi 2006 Temat postu: |
|
|
256 madras 65
Mam wyczucie 8).
Dla niezorientowanych - koszulki otrzymuje pierwsze 256 miejsc 8).
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
ostoj
Przewijak Tasmy
Dołączył: 08 Lis 2005
Posty: 883
Przeczytał: 0 tematów
Skąd: Tychy
|
Wysłany: Czw 13:16, 27 Kwi 2006 Temat postu: |
|
|
a tak mnie ciekawi.... napisali ze pierwsze 256 osob ma mozliwosc podjecia pracy w adb w ciagu najblizszych 2 lat. caly ich oddzial polski zatrudnia 320 osob. wiec gdzie oni kolejne 256 osob chcieliby pomiescic? ci co beda chcieli to beda przyjmowani, ale na tydzien i out?
|
|
Powrót do góry |
|
|
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 :]
|
Wysłany: Czw 18:33, 27 Kwi 2006 Temat postu: |
|
|
Prawda jest taka ze jak sie zgłosi do nich 10 z tych 256 osób to będzie dobrze... bo wiekszość z czołówki ma juz dobra pracę, a wiekszość z pozostałych to studenci/licealiści/gimnazjaliści, którzy o podjęciu pracy nie myślą jeszcze.
|
|
Powrót do góry |
|
|
|
|
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
|