Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Свобоные ходи короля (https://javascript.ru/forum/misc/79989-svobonye-khodi-korolya.html)

Nicanor13 14.04.2020 18:13

Свобоные ходи короля
 
Вложений: 3
В стандартной доске ферзь может двигаться в произвольном направлении и произвольному шагами.
https://javascript.ru/forum/attachme...d=158687706 1
А король может двигаться в произвольном направлении, но только одним единичным расстоянием.
https://javascript.ru/forum/attachme...d=158687711 2
У нас есть массив x = [x0, x1, x2]. Где x0 показывает изначальную позицию короля а x1, x2 изначальные позиции двух ферзей.
Нужно написать функцию которая получает массив x и возвращает массив тех позиций где король может двигаться не попав под удар ферзьей. Если нет свободных ходов вернуть -1.
Например в первом рисунке
https://javascript.ru/forum/attachme...d=158687716 8

x = ["D2", "A4", "E4"]
у короля есть два свободных поля "C1", "C3" означает что должен получаться ["C1", "C3"]

function kingFree(x) {}


console.log(kingFree(["D2", "A4", "E4"]));    // ["C1", "C3"]
console.log(kingFree(["D2", "A1", "F3"]));    // ["C2"]
console.log(kingFree(["E5", "A6", "F8"]));    // ["D4", "D5", "E4"]
console.log(kingFree(["G5", "E6", "H2"]));    // -1
console.log(kingFree(["A3", "C6", "E2"]));    // ["B3", "B4"]
console.log(kingFree(["D4", "A8", "B1"]));    // ["C3", "C4", "C5", "E3", "E5"]
console.log(kingFree(["A1", "B8", "C5"]));    // ["A2"]
console.log(kingFree(["C2", "B4", "F1"]));    // -1
console.log(kingFree(["C2", "A3", "H1"]));    // ["D2"]
console.log(kingFree(["F3", "C7", "D8"]));    // ["E2", "E3", "E4", "F2", "G2", "G4"]

Поможете решить задачу?

Nexus 14.04.2020 18:23

Цитата:

Сообщение от Nicanor13
Поможете решить задачу?

А вам помочь нужно или решить за вас?


Часовой пояс GMT +3, время: 17:26.