1 / 16
Jun 2022

Hej, próbowałem rozwiązać zadanie Flamaster: https://pl.spoj.com/problems/FLAMASTE/5
Napisałem coś takiego: https://ideone.com/gaSgoO19
Działa poprawnie dla podanych przykładów, jednak na SPOJ ciągle dostaję błędną odpowiedź.
Najpierw próbowałem wypisywać wszystko od razu za pomocą kilku coutów - błędna odpowiedź, myślałem, że SPOJ nie akceptuje tylu coutów i wszystko trzeba wypisać od razu, więc postanowiłem wszystko “dodawać” do stringa wynik i wypisać wynik na końcu - nadal źle. Myślałem, że może ostatni znak nowej linii jest problemem - też nie.
Nie wiem dlaczego SPOJ nie chce tego zaakceptować, nie potrafię też znaleźć żadnego przypadku, dla którego program podaje zły wynik. Ktoś pomoże?

  • created

    Jun '22
  • last reply

    May '23
  • 15

    replies

  • 606

    views

  • 4

    users

  • 7

    likes

  • 7

    links

Nie ma takiej potrzeby, możesz wypisywać jak chcesz.

Nie wiem, ale pewnie wypisujesz końcowe zero. Na konsoli go nie widzisz a jest. Przekierowanie wyniki do pliku twoim przyjacielem! :slight_smile:

Ps
Zanim zaczniesz pytać, poczytaj jak to robić i jak zachowywać się na forum

Wiem, że nie powinno być takiej potrzeby, jednak nigdy nie wiadomo jak SPOJ to zinterpretuje.

Faktycznie ‘\0’ było tym, co SPOJ uznawał za błąd. Rozwiązywałem już inne zadania z anglojęzycznego SPOJ-a i nie tylko, nigdy nie miałem problemu z wypisywaniem ‘\0’, więc nie wiem dlaczego akurat tutaj SPOJ uważa to za błąd. Dobrze by było, gdyby SPOJ chociaż pokazywał pierwszą błędną odpowiedź, żeby wiedzieć czy rozwiązanie jest złe czy to SPOJ nie chce przyjąć ‘\0’ czy ‘\n’ na końcu…
W każdym razie dziękuję za nakierowanie na to, co może być problemem.

Nie rozumiem o co Ci chodzi z zachowywaniem się na forum. Chyba nic złego nie zrobiłem, a przynajmniej nie zamierzałem :stuck_out_tongue:

Ja może dodam jeszcze jedną drobną rzecz.
Kod, który przedstawiamy do analizowania niech będzie samym kodem, bez dodatków w postaci zbędnych linii

//cout << count;

Nie używasz tego w kodzie, nie dawaj tego. Takie śmieciowe linie niepotrzebnie absorbują uwagę. Jeśli chcesz by Ci ktoś pomógł - ułatw mu to. W Twoim kodzie wiele tego nie ma, więc nie ma dramatu, ale niektórych może to zniechęcać.
Podsumowując:
Przedstawiaj swój najlepszy kod, a nie kod roboczy :slight_smile:

Oczywiście masz podwójną rację :slight_smile: .

  1. Chodzi mi tylko o przypadek ekstremalnego lenistwa, gdy nie chce mi się tego przerzucać do VS, chcę sobie to przejrzeć tylko tutaj, na Ideone
  2. Co do debugowania, podpisuję się wszystkimi rękami :slight_smile:

Zostawiłem to specjalnie, w odniesieniu do:

Wiem co to debugowanie, nie wypisuję w tym przypadku wartości zmiennych dla sprawdzenia ich wartości. Ten cout jest w odniesieniu do:

10 months later

Pewnie jest dokładnie tak jak myślisz.
Ale, ale. Jak myślisz, co się pokazuje po kliknięciu w twój link?
Właśnie dokładnie to samo. Kody na spoju, są widoczne tylko dla właściciela kodu, [zazwyczaj, z małymi wyjątkami]. Pozostali widzą dokładnie to samo, co wkleiłeś.


Czy odpowiedż na ostatni test, to raczej nie:
A10B16A10B16
??

I tak, i nie. Przeczytaj proszę, jezcze raz treść tego zadana i “wczuj się” w o co tam chodzi. I z nowym podejściem i nowym pomysłem zrób na nowo, od początku, to zadanie. Może tak będzie łatwiej?