9 / 69
May 2017

Nie nigdzie nie widziałem [nawet na SPOJ,u] takiego zalecenia:
"HALO, używaj zmiennych globalnych, bo są super!."
Wprost przeciwnie: http://discuss.spoj.com/t/dlaczego-zmienna-globalna-jest-fuj/21824

Jeżeli jednak twoim, czy twoim, priorytetem jest uzyskanie AC i tylko to, to w tym momencie zupełnie przestaje mieć znaczenie dobry styl programowania i staje się bez znaczenia czy używasz zmiennych globalnych, piszesz kod nie używając modułów, funkcji, klas, struktur, dobrych komentarzy i dobrych nazw zmiennych, używasz odstępów poziomych i pionowych itd.

ALE, ale, ale!! Spoj może służyć nie tylko do nauki algorytmów i pisania brzydkich kodów.
ALE, wtedy to już TY sam [czytelniku] musisz być swoim własnym sędzią lub prosić o ocenę swojego kodu i porady bardziej doświadczonego/ych kolegów.

PS
To, że u mnie [w code bloks, visual super duper 2019 itp] działa jest najstarszą wymówką programistów. To ma działać wszędzie indziej, a u Ciebie czy działa czy nie, jest w takim przypadku zupełnie bezznaczenia.

PS 2
To, że u Ciebie działa [w tym konkretnym przypadku], wynika z tego, że domyślnie w c/c++ nie są sprawdzane przekraczanie indeksów, czy inny dostęp do niezaalokowanej pamięci. Na SPOJ'u jest to sprawdzane w pierwszej kolejności i przy takiej próbie program jest od razu przerywany a nie dopiero gdy [może] spowoduje to problemy i "samodzielne" wysypanie się programu. Dlaczego u Ciebie nie wysypuje się? Problem polega na tym, że takie zachowanie nie zawsze kończy się katastrofową [małe słabe testy], ale..., ale, [:wink:] w sprzyjających okolicznościach tak - np odpowiednio duży test.

PS 3
Sorry, za braki lub nadmiar ',' w powyższym tekście :wink:

Masz rację, u mnie np kiedy dopiero się uczę programować priorytetem jest uzyskanie AC. Wiem jednak że prędzej czy później będę musiał się nauczyć jak pisać "ładny i funkcjonalny kod" :smiley: Na początku jest to trudne i dla tego jak wpada mi coś do głowy, to od razu sprawdzam czy jest to dobre rozwiązanie ( AC ). Często jednak nie wracam do starych kodów aby je poprawić, ale będę musiał to zrobić. :slight_smile:

Cześć!

Czy moglibyście mi podać testy dla którego mój program nie działa?
https://ideone.com/ceMArc23
Wydaje mi się że uwzględniłem w nim wszystko (włącznie ze spacjami na końcach tekstów). Mimo tego brak AC.

Pozdrawiam

Tyle, że to nie o te spacje chodziło i chodzi.
Te, które uwzględniłeś są bez znaczenia - ich istnienie jest całkowicie akceptowane przez sędziego, w przeciwieństwie do tych drugich [w stdin], których nie akceptuje twój program i po prostu, najnormalniej w świecie, wywala się: https://ideone.com/dg0Te334

Te, które uwzględniłeś są bez znaczenia - ich istnienie jest całkowicie akceptowane przez sędziego, w przeciwieństwie do tych drugich [w stdin], których nie akceptuje twój program i po prostu, najnormalniej w świecie, wywala się

Przecież te dane dla których się wywala są TAKIE SAME, naprawdę czegoś stąd nie rozumiem...

Pozornie tak, ale tych spacji, których Ty nie widzisz na końcu danych, twój program widzi je doskonale i nie toleruje - może poczytaj o tym więcej? :wink:

1 2 3 4 5 <--ty jest spacja

1 2 3 4 5<-- tu nie ma spacji

PS
Czy nadal uważasz, że to takie same dane, dla innych języków przeważnie tak, ale dla twojego języka programowania i dla takiej metody wczytywania juyż nie jest to to samo.

PS 2
Możesz sobie zaznaczyć te dane, myszą, i wtedy powinieneś dostrzec różnicę między moiimi i twoimi danymi [w stdin]

No dobra ale... po co na wejściu po liczbie podawać spacje? O tym nie ma nigdzie żadnych informacji, wpisuję ostatnią liczbę i eneter a nie spacja :expressionless:

Może poczytaj sobie. Także to co wcześniej napisałem?

PS
Twoje wyjście [stdout - to czy ty wypisujesz na końcu linii spacje _ enter, czy nie] jest tu zupełnie bez znaczenia.

PS 2
Czy tego też nie widzisz: https://ideone.com/dg0Te318 <-- że twój program się na takich danych sypie? Przecież na "oko" wejście jest identyczne?

Przeczytałem doskonale to co wcześniej napisałeś i nie rozumiem dlaczego po liczbie muszę podawać jeszcze spacje, to jest bezsensu, nie ma takich informacji w zadaniu.

PS: widzę doskonale te spacje, tylko nie rozumiem po co je tam umieszczać?

W końcu

To trochę pytanie filozoficzne, możesz spytać autora, chociaż gdybyś trochę pomyślał, może sam znalazłbyś odpowiedz?

mniej więcej jak wyżej, nie będę się kłócił, czy to jest z sensem czy bez, chociaż ja widzę sens.

że tak spytam, no i co z tego?

Więc ja się spytam, po co używasz takiego języka, zamiast c/c++, w którym nie miałbyś z tym takich problemów?
Czemu używasz takiej dziwnej metody wczytywania liczb w swoim języku - nie masz tam innych. Nie pytaj bo ja nie znam twojego języka [programowania].

Więc może przeczytaj dokłądniej, to co znalazłeś? :wink:

PS
Wiem, co piszę, bo czasami coś piszę :wink:

PS 2
dokładniej

A czemu nie? :wink:

Czemu nie ma sensu? Jak wspominałem, w innych językach to żaden problem i może:

to był jednak zły wybór?

Dlaczego zły wybór? Ja tam sobie chwalę

Każdy język ma swoje wady i zalety. Wyrażenia LINQ w C# mają swoją moc.

Z perspektywy spoja C++ jest szybszy i bardziej popularny.
Z perspektywy rynku pracy wciąż króluje Java.

Jednak po 5 latach pracy z .NET muszę powiedzieć że Microsoft wciąż za wolno adaptuje się do dynamicznego rynku wytwarzania oprogramowania i praktycznie każdy ich produkt można zastąpić lepszym i zazwyczaj tańszym rozwiązaniem. Jednak tutaj nie czas i miejsce by o tym pisać.

Może:
Napisałem wcześniej, że: "Może....", ale to twój wybór, twoja decyzja ..[i twoja flustarcja, że coś nie ma sensu :wink:]

PS
Nie wiem, czy w twoim znalezisku, są podane najlepsze metody wczytywania i to co ja tam napisałem to tylko taka moja łatka, wymyślona, przy analogicznych problemach z wczytywaniem w innych językach, więc nie mam pojęcia, czy jest najlepsza. Czy naprawdę, nie ma[sz] innych, lepszych [np papierowych, książkowych, podręcznbikowych] źródeł nauki i wyszukiwania rozwiązań problemów w c# ? W necie, podpowiedzi, nie zawsze muszą być najlepsze, wynikające z chęci pomocy, i nie zawsze optymalne.

Nie wiem już kompletnie jak to zrobić, jak to wczytać, nie wiem i nie mam pojęcia. Dla tego zadania jest to moim zdaniem kompletnie nie istotne.
A polecasz jakieś dobre książki? Bo ze wszystkimi którymi się spotkałem to dużo gadania/teorii a mało przykładów z których można się czegokolwiek nauczyć.