编程第三题:在一个n*m(n,m<=300)大小的盘子上,小米从(0,0)处出发,开图中的唯一一个宝箱(@),但是地面是光滑(.表示地面)的,每次移动,只能碰到边界或者障碍物(#)或者宝箱(@)才能停下。问最少需要移动几次?输入样例: 4 4...#.@......#... 输出: 4 思路:如果贪心的话,可能得到的不是最优解,因此使用dfs。那么有两个问题:1.如何标记当前点可以到达的下一个点。这里可以使用一个四维数组来记录每个位置上下左右可以到达的下一个位置。2.如何标记一个点是否已经经过,避免重复?仍然选用vis数组。二维即可。(做题时使用了是标记i,j位置加方向,效果不如...