通过率 70% · 提交 169 · 通过 118
在魔法大陆的一片神秘区域,有一个由 魔法塔 守护的二维地图。地图上的每个位置可能是以下之一: - `A`:魔法塔的位置,负责守护该区域。 - `B`:魔法屏障,阻挡魔法塔的视线。 - `C`:旅人,需要魔法塔的保护。 - `.`:空地,没有任何目标或阻挡。 魔法塔的监控规则: 1. 魔法塔的视线可以穿过 旅人 (`C`),继续观察到其后方的目标。 2. 魔法屏障 (`B`) 会完全阻挡魔法塔的视线,其后的目标无法被监控。 3. 。 你的任务是找到能够监控到最多旅人的魔法塔,并计算该魔法塔能监控到的旅人数。 输入: 前两行分别输入两个整数 `m` 和 `n`,表示地图的行数和列数,满足 `1 ≤ m, n ≤ 100`。 接下来输入 `m` 行,每行包含一个长度为 `n` 的字符串,表示地图 `magicMap` 的布局: - 每个字符为以下之一:`A`、`B`、`C` 或 `.`,且字符间无空格。 输出: 输出一个整数,表示能够监控到最多旅人的魔法塔的旅人数。如果地图上没有魔法塔 `A`,输出 `0`。 示例: 输入: 5 5 ACC.B .C..C A.BCA ....B CCA.. 输出:3 说明: - 第一行的魔法塔 `A` 可以监控到 3 个旅人。 - 第三行的左侧魔法塔 `A` 可以监控到 2 个旅人。 - 第三行的右侧魔法塔 `A` 可以监控到 2 个旅人。 输入: 5 5 A.... .B.C. AC.BA ..... CCA.. 输出:2 输入: 4 4 .B.. BCBC CB.A .... 输出:1
这类题属于华为可信认证科目一方向中「双指针 / 可信」方向的高频题型,通常考察对「双指针 / 可信」的建模能力与边界条件处理。掌握本题的解题思路后,可举一反三应对同类真题方向,稳步提升机考通过率。
提示:带虚线的词点一下有通俗解释。
前两行分别输入两个整数 m 和 n,表示地图的行数和列数,满足 1 ≤ m, n ≤ 100。
接下来输入 m 行,每行包含一个长度为 n 的字符串,表示地图 magicMap 的布局:
A、B、C 或 .,且字符间无空格。输出一个整数,表示能够监控到最多旅人的魔法塔的旅人数。如果地图上没有魔法塔 A,输出 0。
示例 1
输入示例
5 5 ACC.B .C..C A.BCA ....B CCA..
输出示例
3
A 可以监控到 3 个旅人。A 可以监控到 2 个旅人。A 可以监控到 2 个旅人。示例 2
输入示例
5 5 A.... .B.C. AC.BA ..... CCA..
输出示例
2
示例 3
输入示例
4 4 .B.. BCBC CB.A ....
时间限制 1000 ms · 内存限制 128 MB
本平台为独立第三方培训机构,与华为技术有限公司无任何关联;课程的服务内容与权益以购买协议为准,学习效果因个人情况而异。「华为 OD」「华为可信」等仅为对岗位与考试方向的客观描述,相关商标归各自权利人所有。
登录后可查看你在本题的历史提交,以及每次的各用例通过情况。
输出示例
1
© 2026 广州慕课网络科技有限公司 · 吴师兄学算法官网 版权所有