Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

6 Stron V  « < 2 3 4 5 6 >  
Reply to this topicStart new topic
> Rozmowy na temat prac konkursowych
rzymek01
post 5.11.2010, 00:42:40
Post #61





Grupa: Zarejestrowani
Postów: 592
Pomógł: 62
Dołączył: 3.08.2006

Ostrzeżenie: (0%)
-----


no własnie, pamietam, że jak sprawdzalem instrukcje asm to w przypadku for jak i while kompilator sprowadzal do tego samego smile.gif


--------------------
:]
Go to the top of the page
+Quote Post
ernie242
post 5.11.2010, 11:00:03
Post #62





Grupa: Zarejestrowani
Postów: 24
Pomógł: 3
Dołączył: 2.02.2009

Ostrzeżenie: (0%)
-----


Jestem pod wrażeniem Panowie blinksmiley.gif Niektóre kody są naprawdę sprytne! (co do innych - jestem zbyt głupi, żeby je rozszyfrować...)

Ja niestety nie miałem czasu za bardzo do tego przysiąść, a szkoda...

http://pastebin.com/7hts0LHU

Kod oparty na klasach byłby chyba jeszcze wolniejszy, za to opakowanie wszystkiego w funkcje pozwoliło mi na (jako tako) napisanie prostych testów podczas pisania skryptu:

http://pastebin.com/zR1Pe4LH

pozdrawiam

Ten post edytował ernie242 5.11.2010, 11:18:31
Go to the top of the page
+Quote Post
phpion
post 5.11.2010, 13:01:33
Post #63





Grupa: Moderatorzy
Postów: 6 070
Pomógł: 860
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




No i zadek. Ja również odpadłem z rywalizacji. Po ostatnim prostokącie brakuje mi jednego znaku nowej linii. Cóż, trudno. Życzę Wam ostrej rywalizacji i jak najmniejszego wpływu przypadku na uzyskane wyniki.

Mój pechowy kod:
http://wklej.org/id/412353/
W moich testach 1000 wywołań zajmowało łącznie ok. 1,6 sekundy... ehhh...
Go to the top of the page
+Quote Post
dr_bonzo
post 5.11.2010, 13:08:30
Post #64





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


@phpion:

Cytat
W moich testach 1000 wywołań zajmowało łącznie ok. 1,6 sekundy... ehhh...


A jak odpalales program?

- za kazdym razem exec()? "... program zostanie wykonany 1000 razy..." - problemem jest to ze czas odpalenia programu chyba przewyzsza znacznie czas wykonania obliczen - wiec neiznaczne roznice w algorytmach nie beda widoczne.
- czy w 1 skrypcie php odpaliles 1000razy funkcje do obliczen (nie tracisz czasu na odpalanie kodu)?


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
phpion
post 5.11.2010, 13:16:57
Post #65





Grupa: Moderatorzy
Postów: 6 070
Pomógł: 860
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Testowałem to tak, że w kodzie na sztywno zapisałem zakodowany ciąg wejściowy (ten z PDFa). Następnie do kodu dodałem:
  1. $xdebug_time_index = xdebug_time_index();
  2. $xdebug_memory_usage = xdebug_memory_usage();
  3. $xdebug_peak_memory_usage = xdebug_peak_memory_usage();
  4.  
  5. $sql = mysql_pconnect('localhost', 'root', '');
  6. mysql_select_db('konkurs', $sql);
  7.  
  8. mysql_query('INSERT INTO xdebug (script, xdebug_memory_usage, xdebug_peak_memory_usage, xdebug_time_index) VALUES ("'.$_SERVER['REQUEST_URI'].'", '.$xdebug_memory_usage.', '.$xdebug_peak_memory_usage.', '.$xdebug_time_index.')');

dzięki czemu zapisywałem sobie uzyskane parametry do bazy danych. Później wyświetlałem je sobie odpowiednim widokiem, który obliczał sumaryczny czas wykonania, średni czas wykonania itp.

Skrypt wywoływałem poprzez:
Kod
ab -n1000 http://...


Szczerze mówiąc sądzę, że byłbym w zdecydowanej czołówce. Siedziałem nad tym praktycznie bite 2 tygodnie. Kombinowałem raz tak, raz srak (i w moich testach wyszło, że while jest faktycznie szybsze od for!) i w końcu spłodziłem to, co spłodziłem. Nawet głupie obliczanie długości wejścia zrobiłem while'm, gdyż było to szybsze niż strlen. No ale zapomniałem (źle doczytałem) końcowego entera sciana.gif

Aha, żeby umożliwić zapis danych do bazy musiałem zamienić die() na zwykłe echo, co też spowolniło działanie skryptu (sprawdzałem również bez zapisu do bazy).

// Edit:
Poniżej zebrane czasy zamieszczonych tu prac (uruchamiane w kolejności alfabetycznej z ok. 10 sekundowymi przestojami między kolejnymi uruchomieniami):
Kod
+---------------+-------------------+
| skrypt        | czas              |
+---------------+-------------------+
| phpion.php    |  1.63519223213194 |
| rolka.php     |  2.08828377723708 |
| sever88.php   |  2.11622476577766 |
| krowal.php    |  2.79060316085828 |
| l0ud.php      |  3.10421872138977 |
| dr_bonzo.php  |  3.55402493476858 |
| askone.php    |  3.72726726532000 |
| Daimos.php    |  3.82858920097367 |
| zegarek84.php |  4.41141557693496 |
| Pawel_W.php   |  5.93350315093991 |
| ernie242.php  |  7.32922220230119 |
| Demio.php     |  9.24934792518643 |
| jasin.php     | 21.57112717628520 |
+---------------+-------------------+


Ten post edytował phpion 5.11.2010, 13:25:23
Go to the top of the page
+Quote Post
ernie242
post 5.11.2010, 13:38:56
Post #66





Grupa: Zarejestrowani
Postów: 24
Pomógł: 3
Dołączył: 2.02.2009

Ostrzeżenie: (0%)
-----


2 tygle. Wow, no to naprawdę szkoda :/
Go to the top of the page
+Quote Post
dr_bonzo
post 5.11.2010, 13:46:36
Post #67





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


@phpion - roznice w czasach sa ciekawe. Moze to "wina" php'a jako modul apacha i jakichs keszow.


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
phpion
post 5.11.2010, 13:52:32
Post #68





Grupa: Moderatorzy
Postów: 6 070
Pomógł: 860
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Może, nie wiem. Ja opierałem się na tych wynikach testując kolejne wersje swojego rozwiązania. Faktycznie - szkoda tych 2 tygodni (coprawda jedynie pracując po godzinach w domu, ale jednak...) ale mogę być wściekły tylko na siebie. Ponoć przypadków jak mój było więcej i zostaną upublicznione czasy wykonania wszystkich nadesłanych prac. Oczywiście błędne rozwiązania nie będą wchodziły w grę w konkursie. Dlatego jedyne co teraz mi pozostaje to cicha nadzieja, że moje rozwiązanie w liście ogólnej nie znajdzie się na żadnym z trzech pierwszych miejsc smile.gif hehe.
Go to the top of the page
+Quote Post
ernie242
post 5.11.2010, 14:11:13
Post #69





Grupa: Zarejestrowani
Postów: 24
Pomógł: 3
Dołączył: 2.02.2009

Ostrzeżenie: (0%)
-----


Być może podarują Tobie ten jeden LF smile.gif
Go to the top of the page
+Quote Post
dr_bonzo
post 5.11.2010, 14:13:22
Post #70





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


A mi smieci w kodzie i kiepski czas.


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
phpion
post 5.11.2010, 14:15:09
Post #71





Grupa: Moderatorzy
Postów: 6 070
Pomógł: 860
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Cytat(ernie242 @ 5.11.2010, 14:11:13 ) *
Być może podarują Tobie ten jeden LF smile.gif

Nie - już wyniuchałem tą sprawę. Jest to błąd w rozwiązaniu i tyle.

Teraz sobie pomyślałem o sztandarowym tekście: "Nie przyjechałem tu dla pieniędzy, przyjechałem się dobrze bawić, to tylko gra" smile.gif hehe.

Ten post edytował phpion 5.11.2010, 14:16:27
Go to the top of the page
+Quote Post
rzymek01
post 5.11.2010, 16:10:05
Post #72





Grupa: Zarejestrowani
Postów: 592
Pomógł: 62
Dołączył: 3.08.2006

Ostrzeżenie: (0%)
-----


@phpion nie ma co się poddawać, nawet na olimpiadzie informatycznej nie karzą za brak znaku nowej linii smile.gif

PS. faktycznie, juz poprawiłem tongue.gif

Ten post edytował rzymek01 5.11.2010, 19:33:10


--------------------
:]
Go to the top of the page
+Quote Post
flashdev
post 5.11.2010, 16:21:15
Post #73





Grupa: Zarejestrowani
Postów: 812
Pomógł: 117
Dołączył: 2.12.2008

Ostrzeżenie: (10%)
X----


Cytat(rzymek01 @ 5.11.2010, 16:10:05 ) *
@phpion nie ma co się poddawać, nawet na olimpiadzie informatycznej nie każą za brak znaku nowej linii smile.gif


Rzeczywiście dziwnie to zostało zorganizowane. Na takim spoj.pl dodatkowe entery nie odgrywają żadnej roli, ponieważ te linijki przez taką instrukcję jak scanf zostałyby odczytane w ten sam sposób, anwet jak by nie było enterów pomiędzy kolejnymi prostokątami.

karzą - karwinksmiley.jpg


--------------------
Go to the top of the page
+Quote Post
dr_bonzo
post 5.11.2010, 16:23:28
Post #74





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


No dobra, ale to byl chyba najjasniej i najprecyzyjniej opisany punk regulaminu smile.gif


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
Pawel_W
post 5.11.2010, 17:53:30
Post #75





Grupa: Zarejestrowani
Postów: 1 675
Pomógł: 286
Dołączył: 15.06.2009
Skąd: Wieliczka

Ostrzeżenie: (0%)
-----


ja o tym dobrze wiedziałem i sam nie wiem, dlaczego nie dałem tej dodatkowej linii... może jakiś rozkojarzony byłem? smile.gif
Go to the top of the page
+Quote Post
ADeM
post 5.11.2010, 22:54:48
Post #76





Grupa: Zarejestrowani
Postów: 455
Pomógł: 69
Dołączył: 23.10.2004
Skąd: Oświęcim

Ostrzeżenie: (0%)
-----


Mój amatorski kod: http://pastebin.com/ETZPV0Ug


--------------------
Go to the top of the page
+Quote Post
phpion
post 6.11.2010, 13:40:51
Post #77





Grupa: Moderatorzy
Postów: 6 070
Pomógł: 860
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Cytat(dr_bonzo @ 5.11.2010, 16:23:28 ) *
No dobra, ale to byl chyba najjasniej i najprecyzyjniej opisany punk regulaminu smile.gif

Może i było to dość jasno i wyraźnie napisane, ale ja (jak i ponoć całkiem sporo osócool.gif odczytaliśmy to nieco inaczej. Szczerze mówiąc miałem (mam?) nadzieję, że celem konkursu jest faktycznie napisanie skryptu, który w sposób najwydajniejszy wykona postawione zadanie (w zasadzie 2: odkodowanie ciągu i utworzenie prostokątów). Okazuje się jednak, że reguły są sztywne i tak naprawdę rozwiązanie schodzi na drugi plan, a jego miejsce zajmuje czytanie ze zrozumieniem. Moim skromnym zdaniem brakujący enter nie jest wyznacznikiem poprawności rozwiązania zadania. Rozumiem błędy w odkodowaniu ciągu, obliczania kolejnej wartości sekwencji, złe umieszczenie cyfr w prostokątach... no ale enter? To jakby na konkursie matematycznym podkreślić wynik końcowy, a nie napisać "Odp: Wynik to X".

Poza tym w poście informującym o konkursie DeyV napisał:
Cytat
Jeśli macie jakieś pytania lub sugestie -piszcie śmiało

Pytań było kilka i na żadne (ze związanych z postawionym zadaniem) nie uzyskaliśmy odpowiedzi. Jeśli więc z założenia miało to wyglądać "macie i główkujcie" to informacja o możliwości zadawania pytań była zbędna.

Może jestem rozgoryczony swoim przypadkiem i się czepiam, ale mogłoby to wyglądać nieco lepiej...
Go to the top of the page
+Quote Post
Pawel_W
post 6.11.2010, 13:48:32
Post #78





Grupa: Zarejestrowani
Postów: 1 675
Pomógł: 286
Dołączył: 15.06.2009
Skąd: Wieliczka

Ostrzeżenie: (0%)
-----


Cytat(phpion @ 6.11.2010, 13:40:51 ) *
To jakby na konkursie matematycznym podkreślić wynik końcowy, a nie napisać "Odp: Wynik to X".

no to jest akurat złe porównanie, bo na większości konkursów (przynajmniej tak było w podstawówce i gimnazjum) trzeba było udzielić pełnej odpowiedzi słownej smile.gif

ale popieram smile.gif
Go to the top of the page
+Quote Post
phpion
post 6.11.2010, 14:13:01
Post #79





Grupa: Moderatorzy
Postów: 6 070
Pomógł: 860
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




No to może porównanie średnio trafne. Na konkursach/olimpiadach matematycznych bywałem w podstawówce, czyli jakiś czas temu winksmiley.jpg
Go to the top of the page
+Quote Post
itsme
post 6.11.2010, 14:23:55
Post #80





Grupa: Zarząd
Postów: 1 512
Pomógł: 2
Dołączył: 22.04.2002
Skąd: Koszalin




pamiętajcie że jezeli chodzi o pierwsza nagrode tutaj decyzje podejmuje polcode natomiast jezeli chodzi 2 i 3 to mentax.

Zatem można wliczyć na zdrowo rozsądkowe podejście do Waszych prac.
NIe mniej należy wrócić uwagę na fakt że tutaj prezentuje swój kod okolo 10-15 osób zaś prac konkursowych wpłynęło znacznie więcej.

teraz pozostało się uzbroić w cierpliwość !


--------------------
brak sygnaturki rowniez jest sygnaturką
Go to the top of the page
+Quote Post

6 Stron V  « < 2 3 4 5 6 >
Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.03.2024 - 09:57