체스 게임의 현재 상태를 나타내는 8x8 문자 그리드가 주어지면 프로그램의 과제는 흰색으로 이동하여 체크 메이트를 얻는 것입니다 (답은 항상 한 번에 메이트됩니다).
입력
입력은 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
솔루션에 castling 또는 en-passant가 포함되지 않는다고 가정 할 수 있습니다.
이것은 코드 골프입니다-가장 짧은 솔루션이 승리합니다.
( mateinone.com 에서 가져온 예 -퍼즐 81, 82 및 83)