1. Job Roadmap
  2. Home
  3. Problem Set
  4. codenotelist
  5. Forum
  6. course
  7. Shore Share Sessions
  8. Record
  1. Login
  2. Sign Up
  3. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
    ZhContent TextSol AI分析

迷宫不可达格子统计

解题思路

  • 用图搜索(BFS 或 DFS)从起点 (0,0) 出发,仅在值为 0 的格子间进行上下左右移动。
  • 统计能被访问到的可达格子数量 reach。
  • 因为题目把原生不可达(值为 1)与“被阻隔而不可达”的 0 都计入答案,所以不可达总数为 n*n - reach。
  • 相关算法:广度优先搜索(BFS) / 深度优先搜索(DFS)。本文实现采用 BFS,代码更直观,层层扩散直到无法继续。

P4412.第2题-迷宫游戏

    1000ms Tried: 44 Accepted: 21 Difficulty: 3 所属公司 : 虾皮

题目内容

设计一个迷宫游戏系列艾尔罗,在设计初期为了方便,使用 n∗nn*nn∗n 矩阵表示

000 代表可到达区域 111 表示不可到达区域

例如有:

[[0,1,0,0][0,0,0,0][0,1,0,1][0,0,1,0]][ [0,1,0,0] [0,0,0,0] [0,1,0,1] [0,0,1,0] ][[0,1,0,0][0,0,0,0][0,1,0,1][0,0,1,0]]

在这个例子中,因为 map[3][2]=1map[3][2]=1map[3][2]=1 和 map[2][3]=1map[2][3]=1map[2][3]=1 所以相对于起点 map[0][0]map[0][0]map[0][0] 来说,map[3][3]map[3][3]map[3][3] 的位置是不可达的(只允许上下左右移动)

为了方便评估设计的艾尔罗迷宫的难易程度,需要 有一个方便的算法统计每个迷宫不可到达的网格有多少个

比如上面的不可达区域为 444 个原生不达的区域加上 111 个衍生的 map[3][3]map[3][3]map[3][3] .总数为 555 .

约束:

起点统一定义为 [0,0][0,0][0,0] .

给定的迷宫二维数组矩阵形式是 n∗nn*nn∗n ,且 [0,0][0,0][0,0] 也总是可达(值为 000),原生不可达的用值 111 表示

样例1

输入

[[0,1,1,0],[1,0,0,0],[0,1,0,1],[0,1,1,0]]

输出

15

说明

[0,0][0,0][0,0] 被困,所以都不可达.

样例2

输入

[[0,0,0,0],[1,0,0,1],[0,0,1,0],[0,0,0,1]]

输出

5

登录后即可使用 AI 分析。

模式
倒计时时长
:

最长 10 小时 59 分;应用后按此时长重新开始。

提示:点击提交记录在左侧题面区域查看详情
题库
AI分析设置
留空使用官方API Key,每天有次数限制(自定义API Key仅限会员和管理员使用,不限次数)
会员和管理员可切换模型;切到 Kimi/智谱/通义/豆包时需填写对应供应商 API Key
升级会员,可将运行与提交冷却时间缩短至 1 秒起

Status

  • Judging Queue
  • Service Status

Development

  • Open Source

Support

  • Help
  • Contact Us

About

  • About
  • Privacy
  • Terms of Service
  • Copyright Complaint
  1. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
  2. Legacy mode
  3. Theme
    1. Light
    2. Dark
  1. 京ICP备2025123107号-1
  2. Worker 0, 60ms
  3. Powered by Hydro v5.0.0-beta.18 Community
CLOSE


ScanQRCodePrompt

请使用微信扫描下方二维码完成注册

Forgot password or username?