Twój program powinien obliczyć liczbę ruchów, które rycerz szachowy musi osiągnąć, aby dotrzeć do każdego pola szachownicy. Dane wejściowe będą dwiema liczbami całkowitymi oddzielonymi spacją reprezentującymi współrzędne początkowego kwadratu (współrzędna pozioma, a następnie pionowa, każda 0-7 włącznie). Twój program powinien wypisać siatkę liczb zawierającą minimalną liczbę ruchów, które rycerz szachowy musi wykonać, aby dotrzeć do każdego kwadratu.
przykłady
Wejście
0 0
wynik
03232345
34123434
21432345
32323434
23234345
34343454
43434545
54545456
Wejście
3 1
wynik
21232123
32303232
21232123
34121432
23232323
32323234
43434343
34343434
Najkrótszy kod wygrywa.
map(\(c,d)->...)$zip ...
można skrócić dozipWith(\c d->...)...
.Windows PowerShell, 178
183188Przechodzi oba przypadki testowe.
źródło
JavaScript,
426408 bajtówJavaScript nie jest najbardziej zwięzłym językiem na świecie ... Ale mój styl kodowania jest również trochę zbyt szczegółowy.
Zastosowanie:
_(0, 0)
itp.źródło
var
i zaoszczędź sobie mnóstwo miejsca ...var
jednak można usunąć, dzięki.