地图为N*M的矩阵,有些房间内存放的有财宝,而且地图有唯一的入口和出口(入口出口没有财宝),当然出口不能入,入口不能出。一面,进攻方要在T时间内从地图的入口进入,获取至少一份财宝,然后从出口安然离开(任务内容,一项都不可缺少)。另一方面,防守方要在地图上的某些位置进行封锁(可以封锁有财宝的房间,不能封锁入口和出口),阻止进攻方完成任务。
入侵者想要完成任务,保卫者想要阻止他,问保卫者要至少封锁几个房间才能阻止入侵者完成任务。
包含多组测试用例。
每组测试用例第一行有三个整数,N,M,T,(2<=N,M<=8,0<T<100).表示地图是N行M列的矩阵,和任务时间T。
接下来N行,描述地图:
'@':入口
'$' :出口
'*' :放有财宝的房间,至少出现一次
'.' :空白区域(随意通过)
'#' :墙(不能通过)
在地图里每移动一次,需要1的时间。移动方向只有上下左右四个方向。房间没有要求只走一次。
Sample Input
3 5 8
@ . . $ .
# . . # .
* . . * .
3 5 9
@ . . $ .
#. . # .
*. . * .
Sample Output
0
1
能帮我吗?c语言编程。