36 / 56
Sep 2018

Ktoś mi podesłał gotowca krótkiego na kilka linijek. Wynika z tego że to mój program ma być graczem a sędzie na spoju będzie wypisywał 1, 0 albo -1. Ale jak to technicznie jest zrobione to nie wiem bo musiałby być po stronie serwera jakiś skrypt który będzie przetwarzał moje wpisywane liczby. Tak czy inaczej zadanie bez sensu bo bez kompletnie żadnej implementacji AI da się to za każdym razem rozwiązać maksymalnie w 6 próbach.

człowiek uczy się przez całe życie (choć być może nie każdy). Do tej pory myślałem, że spoj służy do zabawy/nauki/programowania. A tu okazuje się że jeszcze do narzekania: zadanie niejasne, za trudne, za łatwe, nie da się zrobić, a jeżeli się da, to niczego nie uczy

No zadanie zaskoczyło mnie dwukrotnie. Pierwsze to że spoj może w jakiś sposób komunikować się z testowanym programem, pierwszy raz takie zadanie mi się trafiło. A drugie to myślałem że będzie trzeba trochę pokombinować ułożyć jakiś skomplikowany algorytm odpowiednio reagujący na odpowiedzi . Jak padnie “1” to reaguj tak,jak padnie “-1” to reaguj jeszcze inaczej itp… A tu wystarczy metodą głupiego po kolei podstawiać wszystkie liczby… Dosłownie zero algorytmiki :wink: Trochę słabo :wink:

Ależ informacje o interaktywnej wersji sędziego są dostępne nawet na forum (wystarczy poszukać). Oczywiście żadnego skryptu nie ma bo i po co?

Ależ to zadanie łatwe, które w większym stopniu ma oswoić Cię z tego rodzaju problemami aniżeli nauczyć jakichś minimaxów. Gotowiec i szok “o kurde, to faktycznie da się zrobić” to wystarczający efekt

A wg mnie to dobrze, że ktoś narzeka. Nie grozi nam stanie się śmietanką alias “kółko wzajemnej adoracji”. Każdy przeczyta, wyciągnie wnioski (albo i nie) i tyle.

A mogę prosić o jakiś link bo nic takiego nie widzę. A swoją drogą to chyba nie ma obowiązku przeczytania wszystkich tematów na forum aby poznać funkcjonowanie spoja? Fajnie byłoby jakby był przypięty temat dla nieobeznanych użytkowników z tymi wszystkimi zasadami. Szczególnie co znaczy “nieokreślona ilość danych wejściowych” itp.

Dobrze to ująłeś że takie kółko nie powstanie, bo tu już takie kółko funkcjonuje od ładnych kilku lat :wink: Co prawda skupia wąskie grono ale zawsze :wink:

Na pewno? Ciągle marudzenie jest irytujące po prostu. Tym bardziej że tu raczej brakuje filtrów

Ostatnio mam nieco więcej luzu niż bym chciał. Za mało by zrobić coś tak ambitnego jak testy do zadań, które chciałem wstawić na SPOJa - próbowałem to robić na raty, ale nie wychodzi mi to. Muszę znaleźć dzień by nad tym siąść i basta. Za mało by skupić się na jakimś zadaniu i je rozwiązać - próbowałem trzy razy podejść do Cwanego Lutka i zawsze coś mi przeszkodziło więc już nie próbuję.

Są jednak rzeczy, które można robić na raty. Np. co jakiś czas wejść na forum i odpisać ludziom. Marudzenie @manjaro sprawiło jednak, że jakoś nieszczególnie mi się chciało tu wchodzić i odpisywać (robiłem to sporadycznie w naprawdę wolnych chwilach). Co więc zrobiłem? Odpocząłem, spacerowałem, rozmyślałem, a nawet spłodziłem pliki źródłowe, dzięki którym mam nadzieję w przyszłości rozwiązywać zadania na SPOJu bez użycia STLa (i nie tylko) :wink: Obecnie postanowiłem poświęcić trochę czasu książkom. Nienaukowym. A tym bardziej nietechnicznym: teraz “Ogień i furia. Biały dom Trumpa”, a wkrótce “Antoni Macierewicz. Biografia nieautoryzowana”. Po co, skoro nie interesuje się polityką? Z czystej ciekawości i dla poznania jakichś ciekawych anegdotek :wink:

Na prawdę nie żałuję i pomimo młodego wieku pozwolę sobie mędrkować, że SPOJ SPOJem, zadanka zadankami, nauka nauką i kariera karierą ale trzeba też trochę się zrelaksować, napić jakiegoś dobrego miodu pitnego, coś przeczytać, gdzieś wyjść, może coś pomajsterkować, pobyć ze znajomymi… Po czymś takim każdy przejaw defetyzmu albo malkontenctwa innych ludzi nie stanowi dla Ciebie niczego innego niż źródła refleksji nad ludzką naturą, problemami (ludzkimi i SPOJowymi), … :wink:

Stąd jak mówię: (czasami) to dobrze, że ktoś narzeka.

Ciesze się że zrobiłem coś dobrego dla Ciebie :wink:
P.S moja żona też mówi że jestem malkontentem, dotąd myślałem że przesadza ale muszę się nad tym głębiej zastanowić, może coś w tym jest jednak :wink:
A swoją drogą Wy nie marudzicie bo zrobiliście te zadania kilka lat temu kiedy funkcjonowało stare forum, gdzie była kopalnia wiedzy. Teraz patrzycie na wszystko z góry i się dziwicie że ktoś czegoś nie wie albo nie rozumie funkcjonowania spoja. Jakby był na forum przypięty temat FAQ dla początkujących to byłoby mniej marudzenia :wink:

No brawo! Brawo Ty. I niby skad sie wziela ta kopalnia? Tak sama z siebie? A brawo, za KOMPletnie bzdurne usprawiedliwienie marudzenia.

Jezeli chodzi o kolka wzajemnej adoracji, to faktycznie zauwazam ich istnienie. Ale do twojego, wiecznych malkontentow sie nie pisze.

PS
Klikam na smartfonie I nie chce mi sie dalej gadac

Hipotetycznie wystarczy że ktoś wrzuci dobry kod z małym błędem i pyta dlaczego nie działa. I już w tym momencie reszta forumowiczów ma prawie gotowca. A w każdym razie ma pomysł jak ugryźć problem. Kto skorzystał na tym to skorzystał. Później forum poszło w diabły. A dzisiaj te osoby co skorzystały się dziwią że ktoś nowy nie wie jak się zabrać do problemu… Szczyt hipokryzji.

Odkąd nie działa stare forum wielu ludzi rozwiązało ten problem (w tym ja) i jakoś nie narzekali. Jak im (i mi) się udało to zrobić? Otóż nie robili durnych i nadmiarowych założeń, które Ty robisz nieustannie. Przykłady? Pokolei:

Czy ktoś Ci powiedział (zagwarantował), że takiego AI nie ma? Jeżeli nie to dlaczego przyjąłeś, że go nie ma i się dziwisz, że program jakoś reaguje (dokładnie: że sędzia może być interaktywny)?

Udowodniłeś jakoś niemożność skrócenia obliczeń? Czy ponownie tylko tak przyjąłeś bo tak Ci się wydaje?

Z dawnych rzeczy:

Ale dlaczego? Wszystkie gry mają nieskończoną pętlę na przykład (jest tam while(true)). Dlaczego w ogóle wpadłeś na pomysł przekonania samego siebie, że to jest durne?

Również tego nie dowiodłes. Po prostu Ty nie znałeś innego wyjścia i założyłeś ponownie, że go po prostu nie ma. Pewnie jakbyś całe życie pracował w kopalni pod ziemią to nie wierzyłbyś w istnienie słońca bo go sobie nie wyobrażasz.

Już Ci dawno temu odpowiedziałem i zrozumiałeś, że w tym jest sens, ale dlaczego postawiłeś na początku tezę, że jest to kompletnie bez sensu? Gdybyś jej nie postawił nie miałbyś tylu pytań. Jeżeli jest jakaś funkcja języka programowania (nawet słynne z C++ goto lub właśnie taka dziwna pętla) to prawdopodobnie ma to jakiś sens bo mądrzejsi od Ciebie (i ode mnie) tworzą języki programowania. Więc powiedz jakim cudem można ich tak obrażać pisząc, że coś co zrobili jest bez sensu? Jak można nie czuć tej różnicy lat doświadczenia?

Piszę to wszystko bo się nazbierało i nie po to by Cię ochrzanić, poniżyć czy cokolwiek tylko byś zauważył prostą rzecz: że jeżeli nie będziesz robił (niesprawdzonych uprzednio) założeń, a zawsze dasz możliwość wystąpienia czegoś o czym nie wiedziałeś to rozwiążesz niezłą gamę zadań łatwiej, szybciej i bez wzbudzania wątpliwej jakości dyskusji na forum (niekoniecznie z Twojej strony, ale z Twojej przyczyny).

Gdy teraz znajdziesz zadanie na spoju, które na przykład bierze pod uwagę Twoje rozwiązanie z innego zadania to znów tu napiszesz “przecież nie ma takiej możliwości żeby zadania się łączyły! Co to jest? Jak niby ma to działać? To niemożliwe. Znowu jakieś durne zadanie” czy też pomyślisz w ten sposób (tak jak ja to często robię gdy napotkam coś nowego) jak: “o… nie wiedziałem, że kody mogą się łączyć… ciekawe jak to rozwiązać?”.

Nie mówię, że takie zadanie jest (zapewne takiego nie ma), ale gdyby było… mógłbyś przestać robić założenia, które Cię ograniczają? Zamykasz się w swoich jedynie pomysłach i nie możesz wpaść na to jak coś działa bo przeczy Twoim przekonaniom, temu w co wierzysz. A to nauka przecież, a nie wiara.

Inny przykład… co zrobisz jak znajdziesz w końcu zadanie takie jak chciałby tu wstawić @tarpauwatratar (pisane z pamięci… jeszcze to potrafię :wink: ) czyli zadanie typu:
“sprawdź czy liczba z zakresu 1 < n < 10^100 taka jak 12567235678654567876432345676434567643245676543234561 jest liczbą pierwszą i wykonaj to w czasie O(1)”

bo ja zacząłem rozkminiać “ciekawe czy się da? no raczej tak zwyczajnie sitem to nie. A może w zadaniu chodzi o coś innego, o jakiś szyfr albo wystarczy sprawdzić czy jest parzysta, sumę cyfr czy się dzieli przez trzy, a potem… no właśnie co? Ciekawe zadanie.”

bo przewiduję, że zrobisz wtedy wielką burdę w stylu:

“No nie ma takiej możliwości by sprawdzić pierwszość liczby w czasie O(1) gdyby była taka możliwość to matematycy by ją chyba znali nie? A jakoś do dzisiaj szuka się sensownego wzoru na liczby pierwsze i żaden z dotychczas odkrytych nie ma złożoności poniżej O(n^3)…”

Łapiesz intrygę? Chcę Ci pomóc: przestań. Proszę przestań robić te swoje założenia i się przy nich upierać (i w życiu i w małżeństwie i w programowaniu).

A dlaczego mam zakładać że sędzia potrafi być interaktywny? Mam założyć też że potrafi obiad ugotować i posprzątać mieszkanie? Zakładam zgodnie z logiką tak jak w stu poprzednich zadaniach że sędzia jedynie podstawia zestaw liczb i sprawdza wyniki. Skąd normalny człowiek ma wiedzieć co potrafi spojowy sędzia? Połowa ludzi tutaj wstawia w swoich pierwszych kodach windowsowe “system pause”. Założyli pewnie że spojowi to nie robi różnicy. No bo dlaczego mieli założyć inaczej? Mieli się ograniczać? Wejdź na forum pasja informatyki tam takich tematów jest na pęczki. Powtarzam po raz n-ty, brakuje tutaj takiego FAQ gdzie wszystkie tego typu sprawy byłyby wypisane i wyjaśnione.

@manjaro
"A dlaczego mam zakładać że sędzia potrafi być interaktywny?"
Nie zrozumiałeś mojej wypowiedzi, prawda? Nie chciałem byś to zakładał tylko byś nic nie zakładał.
Dostrzegasz różnicę?
Czyli byś myślał raczej “może może ugotować obiad, a może nie. Nie wiem jak działa spoj od środka więc może potrafi być interaktywny, a może nie - nie wiem”. Wtedy szybciej byś doszedł do tego, że jednak może być niż gdy założyłeś od początku “nie wiem jak działa spoj, ale z pewnością nie jest interaktywny, no bo jak jakiś skrypt? Jakieś AI?”.
Ja też nie wiem, ale bez takich uprzedzeń nie mam błędnych odpowiedzi z powodu błędnych założeń.
Wszystko co napisałeś dalej tylko potwierdza, że to by pomogło. Ludzie piszą “system pause” bo właśnie założyli (jak piszesz), że spojowi to nie robi różnicy, a można było tego nie zakładać.
FAQ by się przydał, ale brak nieuzasadnionych założeń również.

PS. FAQ możesz napisać Ty jak coś. Nic nie stoi na przeszkodzie.

Bo SPOJOwi faktycznie nie robi aż takiej, aby nie zaliczyć, ale oglądającym kody tak.

Normalny nie musi wiedzieć. Koder-programista-rozwiązywacz też nie musi, wystarczy jak będzie się trzymał założeń zadania [zwykłego, interaktywnego, łątwego, trudnego itd…]

Ale chyba nie tobie ani żadnemu z pytających. Przecież nie ma obowiązku czytać [całego] forum ani żadnych FAQ [tych istniejących i tych hipotetycznych]. Jeżeli już, to takich FAQ, brakuje raczej mi i innym podpowiadającym, abyśmy nie musieli po n-ty raz podpowiadać tych samych rzeczy pytającym. Mimo tego braku jednak ja sobie jakoś radę dam, chociaż oczywiście też mam problemy, ale współczuję tobie.

Wysnuwasz jakieś dziwne swoje teorie spiskowe. Jak do tej pory byłem i jestem niezwykle cierpliwy i na nikogo nie patrzę z góry, a szczególnie gdy dopiero raczkuje na SPOJu. Dziwię się natomiast, jeżeli zamiast pytać, Ty czy tobie podobni użytkownicy zaczynają od pretensji i obrażania autorów zadań czy pomagających na forum i od tzw marudzenia.

PS
Moja żona daje mi odczyć, że marnuję czas, siedząc przy komputerze. Jestem coraz bardziej skłonny dzięki między innymi Tobie, przyznać jej całkowicie rację w odniesieniu do poświęcania mojego czasu na forum, czytanie, czytanie i czasami ale coraz rzadsze, odpowiadanie oraz bezsensowne dyskutowanie z Tobą.

Nic o mnie nie wiesz, ale jednak wymyślasz historie i obrażasz mnie. Jednak robiąc tak, nie szkodzisz mi, ale sobie i innym użytkownikom. No i ten niesmak, o którym już pisałem, odczuwany chyba nie tylko przezemnie.

Wątpię, czy ten “niesmak” jesteś w stanie wymazać obiecanym @yula’i bukietem róż, ale to już twój problem.

To raczej leży w gestii administracji forum. Nie mam takich kompetencji aby to pisać. A nawet gdybym miał to nie mam takiej wiedzy.

Czyli sam przyznajesz że dla nowicjuszy problem jest skoro “n” razy pytają o to samo. Ale fala hejtu na mnie bo ośmieliłem się to zauważyć i skrytykować

Cały czas czekam aż ktoś mi wskaże gdzie. Bo wysnuwam już spiskową teorię że to było na starym forum i starzy bywalcy skorzystali ale dla nowych już takie informacje są niedostępne…
.

Znalezienie tego wymagało ode mnie wejścia do pierwszego wyszukanego tematu na temat interaktywnego sędziego i wybrania pierwszego linku. Podtrzymuję więc moje zdanie: wystarczy poszukać :slight_smile:

Nie nazwałbym tego jeszcze hejtem. Dotyczy to zarówno Twoich wypowiedzi jak i wypowiedzi innych. Po prostu burzliwa dyskusja. Ponoć takie są najlepsze :wink:

Jak już gdzieś wspominałem, administracja nie zerka na forum bo i po co, skoro (zwłaszcza) pl SPOJ to nie jest wielce dochodowy biznes.

Mnie Twoje uwagi nie przeszkadzają. Niektóre są faktycznie słuszne - bo i dlaczego Ty miałbyś tworzyć FAQ? I dlaczego tyle rzeczy tak trudno wyszukać? To kwestia ideologiczno - polityczno - biznesowo - jakaśtam. Większość SPOJ-bywalców w najlepszym razie daje od siebie własne zadania i odpowiedzi na forum i oczekuje stosunkowo niewiele od administracji. Niech co jakiś czas wstawią zadanie albo pozwolą się pobawić robiąc jakiś konkurs. Ty oczekujesz dowolnie dobrego produktu, ale nie dostaniesz go tutaj, bo to jest darmowy serwis. Jeżeli stażysta X ma płacone w Sphere Research Labs 30 zł brutto za godzinę pracy i do jego obowiązków miałoby zaliczać się weryfikowanie treści i jakości zadań albo pilnowanie forum to żadnego (darmowego) SPOJa by nie było. Mając doświadczenie w pisaniu dokumentacji uważam, że w ogóle firmy już by nie było bo takie FAQ, jeżeli ma być aktualizowane i zawierać coś więcej niż “poszukaj, to nie boli” + weryfikacja zadań, sprawdzanie forum itd. kosztuje spokojnie trzy stówki miesięcznie. A jeżeli ktoś faktycznie ma umieć to co jest potrzebne do np. weryfikacji merytorycznej zadań to 30 zł jest stanowczo za niską stawką. Poza tym co z resztą czasu pracy pracownika? Picie kawy? Herbaty? Co z jego ambicjami? Jeżeli ten ktoś odróżnia heap od stacka to chętnie zacznie od pisania jak działa sędzia interaktywny, ale co po roku?

Dziękuję za link. Niestety nie zaglądam na angielskojęyczne forum bo po prostu mój angielski jest beznadziejny. wstyd przyznać ale miałem przez 12 lat edukacji jedyny słuszny język w tamtych czasach i jakby ktoś potrzebował pomocy z cyrylicą to służę pomocą. Ewentualnie francuski super przydatny też jakby się ktoś wybierał na wakacje do Kongo albo Kamerunu…I to jest w zasadzie decydujący powód dlaczego tutaj rozwiązuje zadania a nie na jakichś hackerrankach czy leetcodach. Ale wiem to już moje zmartwienie nie Wasze.

Dziękuję za obiektywizm.

если о хейтингом (как вы это назвали) вам происходит тоже о моих высказываниях то хочу сказать, что не об это мне ходило. Я только подумал, что слишком много у вас непроверенных принятий (заложень?) и может если их не будете делать будет вам легче найти отгатку.

Dawno już nie ćwiczyłem rosyjskiego, możesz pomóc jak porobiłem błędy.

Człowiek uczy się przez całe życie

To żaden wstyd, że chodziłeś do szkoły :wink:

Drobne niedociągnięcia widzę ale zakładam że jesteś w tym i tak lepszy ode mnie :wink: Też dawno nie ćwiczyłem bo ponad 20 lat :wink: Dużo już uciekło ale w razie potrzeby szybko można to sobie przypomnieć. Tylko po co? Kiedyś czytałem rosyjskie książki i czasopisma szachowe bo trochę pogrywam ale to już też przeszłość.

Zgadza się. Dlatego tu jestem i uczę się programowania. Dla siebie, dla przyjemności.