witam, sędzia wyrzuca mi złą odpowiedź, pomimo że w wielu testach uzysuję poprawne odpowiedzi
mój kod: https://pastebin.com/rqG4emDY25
zupełnie nie rozumiem, co znaczy, że w wielu testach uzyskujesz poprawne odpowiedzi - czy znasz takie testy dla których uzyskujesz niepoprawne ?
natomiast rozumiem, dlaczego sędzia ci daje WA - powód prosty, nie zrozumiałeś treści zadania, przeczytaj jeszcze raz dokładnie, albo dwa, trzy ... razy, aż do pełnego zrozumienia
PS. istnieje bardzo małe prawdopodobieństwo, że używając Python-a zmieścisz się w czasie - tylko dwa zaliczone rozwiązania nie są C/C++, jedno Pascal, i jedno w ASM
"pomimo że w wielu testach uzysuję poprawne odpowiedzi"
pisząc to miałem po prostu na myśli to, że wprowadzałem wiele liczb podzielnych przez 6,8 czy 343 i program działa bez zarzutu tzn. prawidłowo klasyfikuje to czy liczba jest pozielna przez powyższe wartości czy nie
teraz dopiero zauważyłem dlaczego dostaję WA , jednak warto dokładnie czytac polecenia
udało mi się naprawić błąd i tak jak wspomniałeś używając Pythona nie mieszczę się w czasie (ale spróbuję może to jakos ulepszyć)
Potwierdzam w Pythonie3 nie ma szans tego wykonać, w C++ przeszło z czasem 0.06s
Zastanawia mnie tylko czy osoby które uzyskały 0.00 cudują z very fast i/o czy też mają bardziej zoptymalizowany algorytm. Szkoda, że ten portal nie umożliwia podglądu w kody innych tak jak np. Codewars (oczywiście po uzyskaniu AC). Można byłoby się wiele nauczyć.
… fazy księżyca, plam i wybuchów na słońcu, układ planet i gwiazd … i wiele innych zjawisk na niebie i ziemi o których nawet filozofom się nie śniło!
A tak na serio Spoj “działa” nie na systemie RTS ale na [nie]zwykłym linuxie, wielozadaniowym i wieloużytkownikowym systemie z wywłaszczniem zadań i zasobów itd itp, więc takie zjawiska nie powinny być chyba dziwne. Dodatkowo zmiany hardware i software [nowsze wersje kompilatorów i bibliotek] też wpływają na wynikowy kod i na czas działania czasami na plus a czasami na minus.
Podglądanie nie jest najlepszą metodą nauki. Inni piszą kody po to aby uzyskać AC a nie aby były wzorcowe jako podstawa do nauki programowania. Przez pewien czas była taka możliwość, podglądania, na portalu Mariusza. Nie wystarczy tylko sama chęć obejrzenia kodu i uzyskanie AC. Musi jeszcze być zgoda autora kodu. A na samym spoju taka możliwość jest w gałęzi podstawy programowania.
Innym sposobem jest po prostu napisanie własnego zadania i wstawienie go tu na spoja. Wtedy jako problem setter, w “nagrodę” możesz sobie oglądać wszystkie zgłoszone kody, jeżeli uważasz, że się tą metodą dużo nauczysz. Moim zdaniem lepsza jest metoda książka i jej studiowanie lub guru i jego pomoc. Trochę gortsza to kursy internetowe i fora dyskusyjne, różnej, czasami bardzo marnej jakości.
I jeszcze jedna sprawa. Też jestem stary i gdzieś tam mam zakładki w książce z karty perforowanej [nie taśmy], używałem suwaka logarytmicznego i pisałem jakiś program w Algolu na Odrę. Ale gdy trafiłem na Spoja, a właściwie na forum, to najpierw tylko czytałem, a dopiero dużo póżniej pytałem i proponowałem swoje wynalzki i pomysły. Spoj nie jest portalem edukacyjnym do nauki programowania, tylko do sprawdzania zdobytej wiedzy. Ktoś napisał mi, że przez złe sędziowanie na spoju ktoś tam zraził się do programowania. No i może dobrze. Widocznie do zostania programistą trzeba mieć także odporność na drobne niedogodności. I jeszcze dla malkontentów. Sprawdzcie i porównajcie sobie proszę, jak są oceniane nadsyłane kody na Potyczkach Algorytmicznych, Olimpiadach Informatycznych, także Międzynarodowej, Akademickich Mistrzostwach itd czy innych podobnych tego typu konkursach.
Ja osobiscie wolę i chciałbym aby Spoj w ogóle był i działał tak jak działa jak najdłużej niż zniknął i przestał istnieć. Wiem, że nie jest doskonały, ale może po prostu już się przyzwyczaiłem do drobnych niedogodności Spoja!
Na Codevars to się bardzo sprawdza, dlatego że społeczność ma możliwość oceniania kodów. Jak rozwiążesz zadania masz podgląd na kody innych posortowane od najlepiej ocenionych, co znaczy że w pierwszej kolejności dostajesz najlepsze rozwiązania. Wtedy widzisz jak piszą kody najlepsi, jakich używają algorytmów, jakich i/o, jak nazywają zmienne, jak wygląda czysty dobry kod.
Na spoju możesz 20 lat siedzieć i cały czas będziesz popełniał te same błędy, nie wiedząc nawet że je popełniasz.
Na forum pasja-informatyki inaczej to jest ptzedstawione. Tam jest spoj mocno rekomendowany dla początkujących do nauki algorytmiki. Teraz widzę że jest zupełnie przeciwnie.
"Można pokusić się o stwierdzenie, że czas poświęcony tutaj jest zmarnowany."
Bardzo ostre stwierdzenie uważam, że jest niesprawiedliwe.
Z mojego punktu widzenia SPOJ jest bardzo użyteczny, wiele z niego skorzystałem.
Doceńmy też pracę wielu ludzi, dających od siebie bardzo dużo by SPOJ mógł funkcjonować. Bardzo łatwo jest krytykować
Doceniam, naprawdę. Grupa kilku osób zainwestowała w ten portal serce i pół życia. Szanuję to i podziwiam.
Ale podam taki przykład.
Pracowałem w firmie X, zarabiałem 2 tyś zł.
Gdybym pracował w firmie Y, zarabiałbym 10 tyś.
Pytanie - czy pracując w firmie X zarabiałem 2 tyś czy traciłem 8 tyś?
Wszystko jest względne i zależy od punktu widzenia.
Chodzi o to że na innych podobnych portalach (Codewars, Leetcode) można się rozwijać programistycznie a tutaj jest wyścig szczurów Spędziłem tu setki godzin, może tysiące i nadal nie wiem czy moje kody w porównaniu z innymi są dobre czy bveznadziejne. Nie nauczyłem się dobrych praktykl bo niby skąd? Jedyne czego się nauczyłem to zwracania uwagi na szczegóły, na skrajne przypadki oraz że w każdym zadaniu jest haczyk…