Biorąc pod uwagę wejście czterech liczb całkowitych x 1 , y 1 , x 2 i y 2 , wypisz, czy biały król w szachach (o współrzędnych ( x 1 , y 1 )) może złapać czarnego pionka (o współrzędnych ( x 2 , y 2 )) i złap go, jeśli pionek porusza się, aby jak najszybciej awansować do królowej.
Współrzędne tablicy są następujące:
first coordinate (x)
12345678
1 .#.#.#.#
2 #.#.#.#.
3 .#.#.#.#
second 4 #.#.#.#.
coordinate 5 .#.#.#.#
(y) 6 #.#.#.#.
7 .#.#.#.#
8 #.#.#.#.
Załóż, że ruch jest biały (tura króla) i że obaj gracze grają optymalnie (król porusza się tak szybko, jak to możliwe, aby złapać pionka, a pionek porusza się tak szybko, jak to możliwe, aby awansować). Współrzędne wejściowe zawsze będą wyraźne, a pionek nigdy nie rozpocznie się od współrzędnej y wynoszącej 8.
Król porusza się o jedno pole w dowolnym kierunku w każdej turze (może poruszać się po przekątnej), a pionek może poruszać się tylko o jedno pole do przodu (zmniejszając współrzędną y), chyba że znajduje się w początkowej pozycji (w naszym układzie współrzędnych współrzędna y 7), w którym to przypadku może przesunąć się o dwa pola do przodu.
Dane wejściowe można podać jako ciąg oddzielony spacjami / przecinkami, tablicę ciągów / liczb całkowitych lub cztery argumenty funkcji / wiersza poleceń / itd. Współrzędne można podać w dowolnej kolejności, która jest najbardziej dogodna / golfy (więc zaakceptowanie danych wejściowych jako [y 2 , y 1 , x 1 , y 2 ] jest w porządku, o ile jest spójne). Wynik musi być wartością prawdy lub fałszu .
Ponieważ jest to code-golf , wygrywa najkrótszy kod w bajtach.
Prawdziwe przypadki testowe :
5 3 3 2
6 1 1 7
3 3 3 2
4 1 4 7
7 7 1 7
1 8 1 7
Przypadki testowe Falsy :
6 4 3 2
8 8 1 7
3 4 3 2
1 8 1 7
, w którym król chwyta, zanim pionek może poruszyć się o dwa pola. Myślę, że wszystkie odpowiedzi są teraz błędne. Ta sytuacja sprawia, że problem jest znacznie trudniejszy.
x1 y1 x2 y2
?