欢乐的周末【华为OD机试JAVA&Python&C++&JS题解】

159 篇文章 340 订阅 ¥9.90 ¥99.00
博客详细介绍了如何解决华为在线开发者(OD)机试中的一道题目,涉及到Java、Python、C++和JavaScript四种语言的解题思路和代码。问题是寻找地图上两个人(小华和小为)都能到达的聚餐地点。通过使用广度优先搜索(BFS)或深度优先搜索(DFS)算法,结合并查集或连通分量的概念,找出地图上所有连通的通行和聚餐地点,并计算共有多少个地方。博客提供了每种语言的代码解析,帮助读者理解不同编程语言的实现方式。
摘要由CSDN通过智能技术生成

一. 题目

小华和小为是很要好的朋友,他们约定周末一起吃饭。通过手机交流,他们在地图上选择了多个聚餐地点(由于自然地形等原因,部分聚餐地点不可达),求小华和小为都能到达的聚餐地点有多少个?
输入描述:
第一行输入m和n,m代表地图的长度,n代表地图的宽度。
第二行开始具体输入地图信息,地图信息包含:
0 为通畅的道路
1 为障碍物(且仅1为障碍物)
2 为小华或者小为,地图中必定有且仅有2个 (非障碍物)
3 为被选中的聚餐地点(非障碍物)
输出描述:
可以被两方都到达的聚餐地点数量,行末无空格。
补充说明:

地图的长宽为m和n,其中:

4 <= m <= 100

4 <= n <= 100

聚餐的地点数量为 k,则

1< k <= 100

示例1

输入:

4 4
2 1 0 3
0 1 2 1
0 3 0 0
0 0 0 0
输出:

2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值