Враховуючи сітку букв 8х8, яка відображає поточний стан гри в шахи, завдання вашої програми - знайти наступний хід для білих, що призведе до мат-мату (відповідь завжди буде сполучена одним ходом).
Вхідні дані
Введення буде в STDIN - 8 рядків по 8 символів кожен. Значення кожного персонажа такі:
K/k - king
Q/q - queen
B/b - bishop
N/n - knight
R/r - rook
P/p - pawn
- - empty square
Літери верхнього регістру позначають білі шматки, а малі - чорні. Дошка буде орієнтована так, що біла грає знизу, а чорна - зверху.
Вихідні дані
Хід для білого, що призводить до мат-мату, до алгебраїчних позначень . Вам не потрібно повідомляти про те, коли зроблено фрагмент, і не потрібно турбуватися про розбіжність між двома однаковими фрагментами, які можуть зробити той самий хід.
Зразок введення
Приклад 1
Вхід:
------R-
--p-kp-p
-----n--
--PPK---
p----P-r
B-------
--------
--------
Вихід:
c6
Приклад 2
Вхід:
--b-r--r
ppq-kp-p
-np-pn-B
--------
---N----
--P----P
PP---PP-
R--QRBK-
Вихід:
Nf5
Приклад 3
Вхід:
---r-nr-
-pqb-p-k
pn--p-p-
R-------
--------
-P-B-N-P
-BP--PP-
---QR-K-
Вихід:
Rh5
Ви можете припустити, що рішення не буде залучати до виходу на ринок чи авангарду.
Це код-гольф - виграє найкоротше рішення.
(Приклади взяті з mateinone.com - пазли 81, 82 та 83)