Zaczynam ten wątek, mimo że, jako autor tego zadania http://pl.spoj.pl/problems/MBREV18 nie mam z nim większych problemów.
Na pomysł tego zadania, wpadłem, usiłując na tym forum, pomagać i podpowiadać rozwiązania problemów z innym zadaniem http://pl.spoj.pl/problems/TABLICA32. Sama nazwa tamtego zadania, sugeruje do jego rozwiązania użycie tablicy i iteracyjne jej wypisywanie od końca. Dlatego moje zadanie nie nazwałem tablica II, 5, 10 czy jakoś podobnie, aby samą nazwą nic nie sugerować. Jednocześnie, zablokowałem wysyłanie kodów dłuższych od 60 bajtów, mając nadzieję, że w ten sposób zablokuję wszystkie rozwiązania oparte o normalne wczytywanie do jakiejś struktury i iteracyjne wypisywanie i chyba to osiągnąłem. Ponieważ jednak SPOJ powinien być platformą pomagającą także osobom dopiero zaczynającym zabawę i przygodę z informatyką a nie tylko "ściganiu" się tych najlepszych [no może trochę] więc może jednak powinienem trochę pomóc i podpowiedzieć, doklejając do nazwy zadania albo jego kodu słówko [REKURENCJA]?. Rekurencja, rekurencją ale jak zmieścić się z nią w 60 bajtach, żeby ją praktycznie przetestować? Oczywiście, jak zwykle można to zrobić na ideone ale można też swoje rozwiązanie, wysłać właśnie na http://pl.spoj.pl/problems/TABLICA32. gdzie nie ma takiego ograniczenia na długość kodu. Tutaj [MBREV], jeżeli kod jest dłuższy niż 60 nie zostanie nawet przyjęty do sprawdzenia i przetestowania.
Druga sprawa, pisząc to zadanie nie napisałem, że liczby na wejściu mają być rozdzielone spacją. Zrobiłem [a właściwie nie zrobiłem] tego świadomie. Sędzia na SPOJ'u sprawdza tylko czy w wyniku pojawiają się odpowiednie liczby w odpowiedniej kolejności i mogą one być oddzielone dowolnymi pojedynczymi lub wielokrotnymi "białymi" znakami, i nie koniecznie muszą to być tak jak w moim wzorcowym pliku wyjściowym pojedyncze spacje.
created
last reply
- 13
replies
- 2.2k
views
- 10
users
- 5
links