1381:死亡军马的缰绳

时间限制: 1 S | 内存限制: 65536 KB
Accept: 0 | Submit: 0
[提交] [状态] [讨论版]
描述

在一个国际象棋棋盘上,有一匹散发着死亡气息的战马和一些障碍物。每回合按照国际象棋“马”的规则在棋盘内移动,同时在移动的源头留下一团毒气源。在每个回合马移动之前,棋盘上的每团毒气源都会扩散,每次扩散毒气会以毒气源为中心,沿着八个方向(上、下、左、右、左上、右上、左下、右下)向外延申一格,并且棋盘上的毒气永远不会消散。毒气源最多会沿着八个方向向外延申两格毒气,并且如果毒气在某个方向遇到了障碍物,则会停止在这个方向上的扩散。如果此时扩散恰好蔓延到马所在的位置,也没有关系。(因为马就要进行移动了)

如图所示,假设O点是一个毒气源,B是障碍物,那么第一次扩散时,会扩散到橙色区域;第二次扩散时,会扩散到红色区域;然后就不再扩散了。从图中可以看到,毒气不会越过障碍物进行扩散。

假设初始状态下的棋盘上没有毒气源,且马既不能移动到毒气和毒气源上,也不能移动到障碍物上。问战马最多可以移动多少次?

输入

一个正整数T,表示案例的数量。(T<=120)

每组案例由8行8列个字符组成,表示棋盘的初始状态。其中唯一的字符N表示战马的初始位置,字符B表示棋盘中的障碍物,字符C表示棋盘中的正常格子。

输出

针对每组案例,输出一个整数,表示战马最多移动的次数。每组案例输出后都要换行。

样例输入

2

BBBBBBBB

BBBBBBBB

BBBBBBBB

BBBBBBBB

BBBBBBBB

CCCBBBBB

CCCBBBBB

NCCBBBBB

CCCCCCCC

BBBBBBBB

CCCCCCCC

BBBBBBBB

CCCCCCCC

BBBBBBBB

CCCCCCCC

NBBBBBBB

样例输出

2

13

HINT


来源
厦大附中编程竞赛培训