Виклик:
З огляду на шахматну дошку, виведіть найменшу кількість рухів, які знадобляться (припускаючи, що чорний зовсім не рухається), щоб король, якщо це можливо.
Правила :
Сторона Реда завжди буде знизу, однак їхні шматки можуть починатися в будь-якому ряду (навіть королівському ряду, до якого вони повинні дістатися). Чорні шматки нерухомі , це означає, що вони не рухаються між рухами червоного, але їх знімають з дошки при захопленні. Зауважте, що шматки можуть починатися з будь-якого місця на дошці, включаючи прямо поруч. Це не те, як відтворюються звичайні шашки, але ваша програма повинна вміти їх вирішувати. (Див. Вхід 5) Однак шашки повинні рухатися лише по діагоналі (див. Вхід 3). Зворотне захоплення дозволено, якщо перше захоплення вперед у ланцюжку (див. Вхід 7).
Вхід:
8х8 шахівницька панель з пробілами на дошці, визначеними як наступні символи (не соромтеся використовувати альтернативи, якщо вони відповідають):
. - Порожній
R - Червоний шматок
B - Чорний шматок
Вихід:
Найменша кількість ходів було б взяти червоний шматок , щоб бути «kinged», ввівши рядок короля на верхньому ряду плати ( з боку чорних), 0 , якщо не потрібно ніяких кроків (червона частина почалася в ряду короля), або від'ємне число, якщо неможливо вилучити червоний шматок (тобто чорний займає весь перший ряд).
Введення 1:
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
R . . . . . . .
Вихід 1:
7
Введення 2:
. . . . . . . .
. . . . . . . .
. . . . . B . .
. . . . . . . .
. . . B . . . .
. . . . . . . .
. B . . . . . .
R . . . . . . .
Вихід 2:
2
Введення 3:
. B . B . B . B
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
R . . . . . . .
Вихід 3:
-1
Введення 4:
. . . . . . . R
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
R . . . . . . .
Вихід 4:
0
Введення 5:
. . . . . . . .
. . . . . . . .
. . . . . . . .
. B . . B . . .
B . . . . B . .
. B . B . . . .
. . B . . B . .
. . . R R . . .
Вихід 5:
4
Введення 6:
. . . . . . . .
. . . . . . . .
. B . . . . . .
. . B . . . . .
. B . B . . . .
. . . . R . . .
. . . B . . . .
. . . . R . . .
Вихід 6:
2
Введення 7:
. . . . . . . .
. . . . . . . .
. . B . . . . .
. . . . . . . .
. . B . . . . .
. B . B . B . .
. . . . B . . .
. . . . . R . R
Вихід 7:
4
Оцінка:
Це код-гольф , тому найкоротший код у байтах виграє.