To jest kod golfowy. W przypadku tego wyzwania zaakceptuję metodę (nie potrzebujesz pełnego programu), ale podpis metody wlicza się do liczby bajtów i chcę zobaczyć pełny podpis (nie lamdba). Dane wejściowe dla metody to tablica liczb całkowitych z 81 elementami. Wartością wyjściową / zwracaną z metody jest ciąg znaków reprezentujący tablicę jako tablicę ascii sudoku.
Jeśli używasz ezoterycznego języka lub czegoś, co absolutnie nie ma metod, możesz się dostosować, ale jeśli język w ogóle to obsługuje, chcę zobaczyć, że coś może być faktycznie podłączone do „prawdziwego” programu bez golfa, nawet jeśli metoda sama w sobie jest uciążliwa. Wymaganie nie ma na celu blokowania języków takich jak Jelly lub 05AB1E, ale ułatwienie językom takim jak Java tworzenia czegoś, co ma sens dla tej platformy.
Dla danych wejściowych wartości całkowite 1-9 powinny mieć oczywiste znaczenie. Wartość 0 należy zawsze interpretować jako pustą komórkę. Możesz również interpretować wszystko inne poza zakresem 1-9 jako pustą komórkę, ale nie jest to wymagane. Pozycjonowanie od tablicy do układanki rozpoczyna się w lewym górnym rogu i wypełnia każdy rząd od lewej do prawej przed przejściem do następnego rzędu.
W przypadku pudeł chcę podwójne linie na zewnątrz i między każdym regionem 3x3 oraz pojedyncze linie między innymi komórkami. Powinny być narysowane przy pomocy znaków do rysowania linii (jeśli twój format I / O reprezentuje ciągi jako sekwencję bajtów zamiast sekwencji znaków, powinieneś je przedstawić w znanym kodowaniu, takim jak UTF-8 lub strona kodowa 347).
W przypadku tego wyzwania NIE proszę o wygenerowanie układanki sudoku. To jest dane wejściowe dla funkcji. Ja NIE prośbą, aby rozwiązać zagadkę. Po prostu proszę cię o napisanie ciągu, aby „narysować” to, co otrzymałeś (w jak najmniejszej liczbie bajtów).
Przykładowe dane wejściowe:
Wartości dla tablicy:
{ 8, 5, 0, 0, 0, 2, 4, 0, 0, 7, 2, 0, 0, 0, 0, 0, 0, 9, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 7, 0, 0, 2, 3, 0, 5, 0, 0, 0, 9, 0, 0 ,0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 7, 0, 0, 1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6, 0, 4, 0}
Wartości mogą wykorzystywać dowolny mechanizm naturalny dla Twojego języka: int [], ArrayList, sekwencję, krotkę, ciąg cyfr, cokolwiek, o ile masz wartość wejściową dla każdej komórki (brak map tylko dla zapełnionych komórek do pozycji ). Pamiętaj, że dane wejściowe są dostarczane ... nie są one częścią twojej liczby bajtów. Ale dane wejściowe mogą reprezentować dowolną łamigłówkę sudoku, a układanka może nawet nie mieć prawidłowego rozwiązania . Zakładasz, że puzzle można wydrukować. Na przykład nie dostaniesz czegoś z 82 elementami.
Możesz także założyć rozsądną czcionkę o stałej szerokości.
Odpowiadające wyniki:
╔═══╤═══╤═══╦═══╤═══╤═══╦═══╤═══╤═══╗ ║ 8 │ 5 │ ║ │ │ 2 ║ 4 │ │ ║ ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢ ║ 7 │ 2 │ ║ │ │ ║ │ │ 9 ║ ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢ │ │ │ 4 ║ │ │ ║ │ │ ║ ╠═══╪═══╪═══╬═══╪═══╪═══╬═══╪═══╪═══╣ ║ │ │ ║ 1 │ │ 7 ║ │ │ 2 ║ ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢ ║ 3 │ │ 5 ║ │ │ ║ 9 │ │ ║ ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢ │ │ 4 │ ║ │ │ ║ │ │ ║ ╠═══╪═══╪═══╬═══╪═══╪═══╬═══╪═══╪═══╣ │ │ │ ║ │ 8 │ ║ │ 7 │ ║ ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢ │ │ 1 │ 7 ║ │ │ ║ │ │ ║ ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢ │ │ │ ║ │ 3 │ 6 ║ │ 4 │ ║ ╚═══╧═══╧═══╩═══╧═══╧═══╩═══╧═══╧═══╝