俘获人质
时间限制:1秒 内存限制:256M
【题目描述】
用字符矩阵来表示一个 \(8 * 8\) 的棋盘,'.'表示是空格,'P'表示人质,'K'表示骑士。
每一步,骑士可以移动到他周围的8个方格中的任意一格。如果你移动到的格子中有人质(即'P'),你将俘获他。但不能移出棋盘或当前是'K'的格子中。
请问最少要移动多少步骑士才能俘获所有的人质。
【输入格式】
第一行一个整数 \(T(<=5)\),表示有多少个棋盘。即多组测试数据。
每一组有 8 行,每行 8 个字符。字符只有'.',大写'P',大写'K'三种字符。
【输出格式】
有 \(T\) 行,每行只一个整数,相应棋盘俘获全部人质所需要的最少步数。
【输入输出样例】
Input
3
.PPPPKP.
........
........
........
........
........
........
........
P......P
........
........
........
...KK...
........
........
P......P
.....P.P
..K....P
....K...
..PP...P
...K..KK
........
K.......
KP.K....
Output
6
20
9
【数据限制】
对于 \(100\%\) 的数据,'P'和'K'的个数范围都在 \([1,10]\)。
【来源】
Mr.he