Jest to dodatkowe wyzwanie dla wyzwania generowania łamigłówek Loopy . Możesz spróbować rozwiązać to wyzwanie, zanim spróbujesz trudniejszego wyzwania w poprzednim łączu.
Celem tego wyzwania jest sprawdzenie rozwiązania łamigłówki. Proszę wziąć całą dokumentację dotyczącą tego, czym jest zwariowana łamigłówka z poprzedniego linku. Rozwiązana łamigłówka jest sformatowana w bardzo podobny sposób, jak wynik prawidłowego poddania się wyzwaniu „generuj łamigłówki” i może wyglądać następująco:
+-+-+ +-+ +-+ +
| | | |2|3|
+-+ + + + + +-+
2| | | |2| 3|
+ + +-+ + + +-+
2| 2 1|3| |
+-+ +-+ +-+ +-+
|2 | | 1 2|
+ +-+ +-+ +-+ +
| |2 1 2|3|3| |
+ + +-+ +-+ +-+
| | |3|2 1
+ +-+ +-+-+-+-+
| 2 2 |
+-+-+-+-+-+-+-+
Ścieżka tworząca rozwiązanie jest oznaczona znakami |i -pomiędzy +znakami.
Specyfikacja wejściowa
Twój program otrzyma pętlową łamigłówkę z rozwiązaniem sformatowanym jak na powyższym przykładzie jako dane wejściowe. Twój program wyliczy rozmiar układanki na podstawie danych wejściowych. Możesz przyjąć następujące założenia dotyczące danych wejściowych:
- Układanka ma nie mniej niż 2 i nie więcej niż 99 komórek w obu kierunkach
- Tak więc, każda linia ma maksymalną długość 199 znaków bez uwzględnienia znaku (ów) nowej linii
- Tak więc wejście zawiera maksymalnie 99 wierszy
- każda linia może kończyć się po ostatnim znaku do wydrukowania lub może być wypełniona białymi znakami, więc ma długość do 2 · y + 1 znaków, gdzie y jest liczbą komórek w kierunku poziomym
- każda pozycja z obu x i y współrzędnych nawet zawiera
+znak - pozycje w poziomie lub w pionie przylegające do pozycji zawierających
+znaki zawierają znak spacji, znajdują się za końcem linii lub zawierają-znak, jeśli sąsiadują poziomo lub|znak, jeśli sąsiadują pionowo - wszystkie pozostałe pozycje są albo za koniec linii lub zawierają jeden z bohaterów
,0,1,2, lub3 - wszystkie linie są zakończone domyślnymi znakami nowej linii na platformie
- jest dokładnie jedna nowa linia
Dane wejściowe należy odbierać w jeden z następujących sposobów:
- Ze standardowego wejścia
- Jako wartość parametru nazwanego
pw żądaniu POST HTTP - Jako treść formularza HTML
- Jako zawartość pliku o nazwie
pw katalogu zdefiniowanym w implementacji - W implementacji zdefiniowany sposób w czasie wykonywania, jeśli poprzednie cztery nie są dostępne
- Zakodowane na stałe, jeśli twój język nie zapewnia możliwości otrzymywania danych wejściowych
Specyfikacja wyjściowa
Twój program zostanie zakończony dla wszystkich danych wejściowych zgodnych ze specyfikacją danych wejściowych i obliczy, czy rozwiązanie układanki jest prawidłowe. Twój program wyświetli wynik obliczeń jako wartość logiczną na jeden z następujących sposobów:
- Jako status wyjścia zero (rozwiązanie jest prawidłowe) lub niezerowe (rozwiązanie jest nieprawidłowe)
- Ponieważ znak
y(rozwiązanie jest prawidłowe) lubn(rozwiązanie jest nieprawidłowe), po którym następuje zero lub więcej dowolnych znaków wyprowadzanych w sposób zdefiniowany w implementacji
Zachowanie Twojego programu jest nieokreślone, gdy napotkasz dane wejściowe niesformatowane zgodnie ze specyfikacją danych wejściowych.
Punktacja
Wynik twojego programu to liczba znaków w jego źródle, z wyjątkiem możliwych do pominięcia białych znaków i możliwych do pominięcia komentarzy. Zachęcamy do wcięcia swojego zgłoszenia, aby ułatwić innym czytanie i komentowanie rozwiązania, aby było łatwiejsze do naśladowania.
Zgłoszenia niezgodne ze specyfikacją wejściową lub wyjściową lub generujące nieprawidłowe wyniki są nieprawidłowe.
0jest także poprawny numer komórki.