Wyzwanie z prostymi regułami, ale nietrywialnymi algorytmami. :-)
Zadanie
Weź dane wejściowe w postaci liczb całkowitych oddzielonych spacją:
N A B S
Gdzie N jest długością boku kwadratowej macierzy 2D wypełnionej unikalnymi liczbami (liczbami całkowitymi) między A i B włącznie. Dla każdego wiersza i kolumny w tej macierzy suma jest zawsze taka sama: S. (Innymi słowy, macierz jest półmagicznym kwadratem).
Uwaga:
Wszystkie liczby są dodatnie. Wyjątkiem jest A, które może wynosić 0.
Przykłady
Dla
3 1 10000 2015
poprawnym rozwiązaniem byłoby
Dla
8 1 300 500
poprawnym rozwiązaniem byłoby
Wydajność
Dane wyjściowe powinny być tabelą ASCII. Przykład dla pierwszego przykładu powyżej:
384 159 1472
1174 499 342
457 1357 201
Wyrównane do prawej liczby całkowite wypełnione spacjami. Szerokość każdej kolumny to szerokość największej liczby całkowitej w tej kolumnie.
Punktacja
To jest golf golfowy , więc wygrywa najkrótszy kod w bajtach. Obowiązują standardowe luki (szczególnie w przypadku wbudowanych rozwiązań tego problemu). Nie musisz się przejmować błędnymi lub w inny sposób niemożliwymi danymi wejściowymi (w tym liczbami ujemnymi). Podaj przykładowy wynik w swojej odpowiedzi (obowiązkowy) dla drugiego przykładu powyżej.
A
, B
, i N
mogą być ujemne?