笔试—华为软件开发笔试-4

题目1:跳跳棋

已知存在一个跳跳棋的棋盘(行数0<M<=20,列数0<N<=20),棋盘中存在K个棋子(0<K<=M *N),输出指定棋子到达指定位西需型跳动的次数及路径(假定最多只有一条路径);如果无法到达,则输出0;如果入参不合法,则物出0;

其中:棋盘使用二维数组去表示,1表示有棋子,0表示无棋子

跳跳棋其规则如下:

1.棋子可以从当前位置向其周边的8个方向跳动,但可以发起跳动的前提是:在发起的方向上,与当前位置紧临的位置有棋子;

2.棋子可以横跨同一方向的多个紧临的棋子跳动

3.棋子可以连续跳动

4.棋子不能往回走(即棋子不能重复经过同一位置)

 

输入

0: M N K(其中M为二维数组的行数0<M<=20, N为列数0<N<=20, K为棋盘棋子的数量O<K<=M*N,M N K以空格分隔)

1~K:棋子的位置,行列以空格分隔

K+1:指定棋子的起始位置,行列以空格分隔

K+2:指定棋子的到达位置,行列以空格分隔

输出

0:跳动的次数。如果无法到达,则的出0;

1-N:跳动路径上的棋子落下的所有位置(不包含起点,包含终点),按落下的顺序输出位置的行与列,以空格分隔;如果无法到达,则无输出

样例1

输入:

5 7 9

1 2

1 4

2 1

2 3

2 5

3 3

4 2

4 3

4 4

4 2

0 4

输出:

2

2 4

0 4

样例2

输入:

6 7 9

1 2

1 4

2 1

2 3

2 5

3 3

4 2

4 3

4 4

4 4

0 3

输出:

0

样例3

输入:

6 6 11

1 2

1 4

2 1

2 2

2 3

2 5

3 3

4 2

4 3

4 4

5 3

4 4

1 5

输出:

3

1 1

1 3

1 5

 

题目2:网络最小可达跳数之和

现有一份大小为N*N的网络部署地图,其中每个单元格都表示1个地区,每个单元格都用A/B/C标记好了。中A代表此地区按入的是A公司的网BBC.

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

本专栏主要是介绍嵌入式软件开发岗位的相关知识和学习攻略,为大家提供一份笔试与面试手册。包括有嵌入式软件开发岗位介绍与学习攻略;校园招聘和offer疑惑问题的介绍;在笔试方面,如何刷题为笔试作准备,提供往年笔试真题;在面试方面,提供相关知识的复习重点,提供面试真题。包括有:华为、蔚来、文远、大疆、三一、深信服、亚马逊、Intel、百度、科大讯飞、OPPO、京东、中兴、比特大陆|算能、美团等等

全部评论
od现在要求学历吗
点赞 回复 分享
发布于 2023-03-28 16:24 湖北
老哥是投的暑期实习嘛 还是春招
点赞 回复 分享
发布于 2023-04-01 11:14 北京
嵌入式考这么多算法题呀?
点赞 回复 分享
发布于 2023-10-11 00:32 湖南

相关推荐

想顺利毕业的猕猴桃在看牛客:好几个月没面试了,腾讯留面评吗
点赞 评论 收藏
分享
码农索隆:小同学,看看我查看图片
点赞 评论 收藏
分享
评论
3
5
分享

创作者周榜

更多
牛客网
牛客企业服务