【华为OD机试】寻找最大价值的矿堆(C++ Python Java)2023 B卷

这篇博客主要介绍了如何使用深度优先搜索(DFS)解决华为在线测评(OD)中的一道问题,即在给定的地图上找到最大价值的矿堆。地图由'0'(空地)、'1'(银矿)和'2'(金矿)组成,矿堆由相邻的金矿或银矿连接形成。博客提供了输入描述、输出描述以及若干测试用例,并强调了DFS作为解决此问题的关键算法。

时间限制:C/C++ 1秒,其他语言 2秒

空间限制:C/C++262144K,其他语言524288K

64bit IO Format:%lld

题目描述

给你一个由 '0' (空地)、'1' (银矿)、'2'(金矿) 组成的的地图,

矿堆只能由上下左右相邻的金矿或银矿连接形成。超出地图范围可以认为是空地。

假设银矿价值1,金矿价值2 ,请你找出地图中最大价值的矿堆并输出该矿堆的价值。

输入描述

地图元素信息如:

22220

00000

00000

11111

地图范围最大 300*300

0 ≤ 地图元素 ≤ 2

输出描述

矿堆的最大价值

用例1

输入

22220

00000

00000

01111

输出

8

说明

用例2

输入

22220

00001

11101

01111

输出

9

考点

深度优先搜索dfs

代码

#include <iostream>
#include <
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dijkstra2023

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值