101 / 133
Apr 2020
1 month later

Witam. Próbuję opanować C# i męczę się z tym zadaniem. Testowałem program na wszystkich możliwych danych wejściowych. Wydaje mi się że sortuje ok. Błąd może być w tej linii oddzielającej zestawy danych…
https://ideone.com/2DLvpA5 - to mój kod.

Tak. Kolejne testy oddzielone są jednym pustym wierszem.

  1. Obliczanie odległości punktu jest nieprawidłowe:
    Wejście
    1
    3
    A 0 0
    C 1 6
    B 3 -4
    Wyjście:
    A 0 0
    B 3 -4
    C 1 6

Ok. Racja. Mnożyłem przez siebie wartości bezwzględne x i y. Teraz zmieniłem to na dodawanie. Wydaje mi się że to wystarczy i nie trzeba liczyć dokładnej odległości wyciągając pierwiastek (z pitagorasa w sensie). Tak czy inaczej kod dalej nie przechodzi.
https://ideone.com/2sxLx03 - poprawiony kod.

Nie wystarczy. Jak ma być sortowanie według odległości w METRYCE EUKLIDESOWEJ to takiej należy użyć a nie wymyślać własnych wynalazków (nawet jeśli one są również metrykami). Nawiasem mówiąc nie rozumiem po co kombinujesz z dziwnymi wynalazkami zamiast robić po prostu to co jest podane w zadaniu.

Kolejne testy oddzielone są jednym pustym wierszem

chodzi o wejście, bo na wyjsciu jest juz pusta linia miedzy wynikami kolejnych testow.

2 months later

Czesc, moglby ktos podpowiedziec jak ugryzc unikalnosc dla zmiennej ‘nazwa’ dla kazdego testu oraz jej wielkosc max 10 znakow? Glowie sie od jakeigos czas, ale nie moge znalezc sensownego wyjscia.
Jedyne co mi chodzi po glowie:

  1. to wywalenie programu po powtorzeniu nazwy, badz nadaniu jej wiekszej ilosci znakow niz 10
  2. usuwanie danych wpisanych niepoprawnie z trescia zadania i powrot do linijki

Bylbym wdzieczny za podpowiedz!

Sedzia (jest automatem) testujacym programy zestawami testow zgodnymi z trescia zadania.
Wszystko co opisujesz jest niepotrzebne.

Można użyć mapy do sprawdzania, czy nazwa nie jest użyta (względnie iterować po tablicy), i zwykłego porównania długości stringa (za pomocą metody length() ) z liczbą 10. Do zakończenia programu służy return 0 albo funkcja exit() z cstdlib. Jednakże tak jak wyżej, nie jest to potrzebne.

Dzieki za wskazowki!
Ale po przeczytaniu tresci zadania “ze zrozumieniem” wyciagnalem wniosek, iz moj program pokazuje posortowane punkty zaraz po ich wpisaniu dla danego testu.
Rozumiem, ze w pierwszej kolejnosci powinien przyjac wszystkie testy i wszystkie punkty dla kazdego testu, a pozniej odpowiednio posortowac punkty z kazdego testu.

Nie, nie jest to konieczne. Sędzia to maszyna i odróżnia strumienie wejścia/wyjścia, tak że można wypluć dane, gdy tylko będą gotowe, osobno po przyjęciu każdego testu

10 months later

Dzień dobry, napisałem kod do tego zadania, który na wszystkich moich testach działał dobrze, jednak sędzia SPOJ zwrócił komunikat “Błędna odpowiedź”. Prosiłbym o wskazówki lub test, na którym mój program nie działa, oraz o wyrozumiałość w przypadku głupich błędów, gdyż dopiero się uczę.

Moje 3 imię to wyrozumiały :slight_smile:Popatrz co robisz że zmienną C i jak znajdziesz błąd dostaniesz AĆ.

Super, gratuluję AC!

Twój kod … jestem w pracy i piszę na komórce …więc sam się domyśl :slight_smile: