#P1428. *【状态压缩DP】骑士

*【状态压缩DP】骑士

【题意】

用字符矩阵来表示一个 8×88 \times 8 的棋盘,.表示是空格,P表示人质,K表示骑士。

每一步,骑士可以移动到他周围的 88 个方格中的任意一格。

如果你移动到的格子中有人质(即P),你将俘获他。

但不能移到出棋盘或当前是K的格子中。

请问最少要移动多少步骑士才能俘获所有的人质。

【输入格式】

第一行一个整数 N(N5)N(N \le 5),表示有多少个棋盘。即多组测试数据。

每一组有 88 行,每行 88 个字符。字符只有.,大写P,大写K三种字符。

PK的个数范围都在[1,10][1,10]

【输出格式】

NN 行,每行只一个整数,相应棋盘俘获全部人质所需要的最少步数(最少所有骑士步数的总和)。

【样例输入】

1
.PPPPKP.
........
........
........
........
........
........
........

【样例输出】

6

重造数据by hansang