ali 面试 笔试 题
题目描述
一只兔子要通过一个n * n (6<= n <= 30)的方格机关区域,兔子每踩一个方格就会触发与之邻边的方格机关,机关触发后会散发迷雾,机关所在方格的数字对应迷雾散发的时间,数字越小,迷雾散发的时间越短,迷雾散去之后才能继续前进。由于被触发机关的方格是不能行走的,兔子只能跳着通过该区域。假如兔子每次只能跳过与当前所在方格相邻的一个方格,请为兔子计算出从该正方形区域的最上边中的任意一点出发,最快时间通过该区域到达最下边所需要的时间。
要求: 兔子只能从左向右或者从上向下走;方格中的数字大于0,小于100;只有机关被触发的方格才能被跳过
输入:
-
第一行输入一个数字n,表示方格机关的区域大小
-
随后输入n行,每行有n个使用逗号分隔的数字,分别代表方格机关每一行对应的方格中的数字
输出: -
从最上边开始,最快时间通过区域到达对边,所需要的时间
示例:
输入:
6
1,2,3,5,7,6
2,1,4,5,7,4
3,4,5,6,3,6
2,3,1,4,6,8
5,6,1,4,6,2
4,2,4,1,1,6
输出:
6
说明:
兔子有两种方式以最短时间通过该区域(假设方格区域为二维数组 a ) -
兔子所踩方格的坐标依次为: a[0][1] -> a[2][1] -> a[4][1] ;
期间跳过机关格子依次为: a[1][1] -> a[3][1] -> a[5][1] ;
对应的通过时间为: 1 + 3 + 2 = 6 -
兔子所踩方格的坐标依次为; a[0][1] -> a[2][1] -> a[4][1] -> a[4][3] ;
期间跳过的机关格子依次为: a[1][1] -> a[3][1] ->a[4][2] -> a[5][3] ;
对应的通过时间为: 1 + 3 +1 +1 = 6
# 支持原创
码文不易,希望支持,谢谢->支持原创
支付宝扫个红包
[外链图片转存失败(img-d9mqBa0Z-1562664673546)(https://raw.githubusercontent.com/923132714/my_picture/master/blog/support/扫码领红包.png “扫码领红包”)]
[外链图片转存失败(img-FjLqzn8E-1562664673546)(https://raw.githubusercontent.com/923132714/my_picture/master/blog/support/广告位.png “广告”)]
上面这张图广告,请各位理智对待(分享收益不足望大家谅解)