海康威视 AI算法工程师 笔试

15道单选 45分 
 5道多选  25分 错选不得分 少选一半分
 2道简答  20分
 1道编程  10分

总限时90分钟,编程题难度不如前面选择多对两道

编程题:
第一行三个整数n, m, k为迷宫的行, 列, 需触碰的石头数
接下来n行为迷宫的字符串,#代表石头(石头格不能走),.代表空格,F代表出口,S代表入口,接下来k行2列是整数,表示必须触碰的石头的坐标(从1开始,左上为1,1),要想打开出口则必须按顺序触碰(走入石头坐标格的邻格即为触碰)石头,求从入口到出口的最短路径步数

示例1
输入:
3 5 3
#....
####.
FS...
1 1
2 3
2 2
输出:
17
解析:
先从S到1,2(1,2即可触碰1,1,不需走到1,1)走8步,然后从1,2走到3,3(3,3即可触碰2,3)走7步,再从3,3走到3,2(3,2即可触碰2,2)走1步,再从S的3,2走到F的3,1走1步即到达出口,8+7+1+1=17

示例2
输入:
3 5 3
#....
#####
FS...
1 1
2 3
2 2
输出:
-1
解析:
显然永远也无法越过石头触碰到1,1处的石头,这种情况返回-1
全部评论

相关推荐

评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务