题目描述
小帅被困在了一个n行m列的二维迷宫中,小帅一开始在左上角的格子处,他要到达右下角的出口。迷宫中只有两类格子,一类是可通行的(用“.”表示),一类是不可通行的(用“#”表示)。
小帅每一步可以从当前所在的格子走到其上、下、左、右四个方向与其相邻的格子,但是不能走出迷宫外。
问:小帅最小需要几步能够到达终点?
输入
第一行包含两个整数n和m,以一个空格分隔(1≤n,m≤100)。
接下来n行,每行包含一个长度为m的字符串,用于表示这个二维迷宫。字符串仅由“.”和“#”构成。
数据保证左上角和右下角的两个格子均为可通行的。
输出
如果小帅能够顺利到达右下角的终点,输出一个整数,表示最小需要几步能够到达终点;否则,输出一行字符串“So Sad!”。
样例输入
5 5
.....
####.
.....
.####
.....
样例输出
16