问题 1970 --迷宫探险

1970: 迷宫探险★★★

时间限制: 1 Sec  内存限制: 128 MB
提交: 403  解决: 152
[提交][状态][命题人:]

题目描述

探险家小曹来到了一个N*N的迷宫,起点是左上角(1,1),终点是右下角(N,N)。迷宫由通道,障碍物和墙壁组成,每一步可以花费单位时间向邻接的上下左右四格的通道移动,  也可以从通道移动到障碍物,清除障碍物需要一定的时间。请求出从起点到终点所需的最少时间。


输入

输入有多组数据,不超过10组。

每组第一行一个整数N(1<=N<=100)。

第2~N+1行表示迷宫,每行有N个字符。字符# .分别代表墙壁、通道。保证起点(1,1)和终点(N,N)都是通道。字符'1'~'9'代表该区域需要逗留相应的时间来清除障碍物。

输出

每组数据输出一行,一个整数代表从起点所需的最少时间。如果从起点不能到达终点,则输出-1。


样例输入
Copy
3
.##
.7.
##.
2
.#
#.
样例输出
Copy
11
-1

提示

样例1解释:从起点(1,1)走到(2,2)花费2,然后花费7清理障碍物,然后走到终点(3,3)花费2,一共花费11。


来源

[提交][状态]