题目解析
用例图示如下

本题可以用深度优先搜索DFS来解决。
如果一个点满足下面条件,则进入深搜:
- 未被访问过(未被深搜过)
- 不是墙
同属一个源头的深搜区域,就是对应一个被墙隔开的独立区域,如果该独立区域深搜过程中,发现'E',则该区域的敌军数量+1。
如果一个独立区域深搜完成,对应敌军数量<k,则最终题解统计的:敌军小于K的区域数量 + 1。
另外,本题数量级稍大,如果采用深度优先搜索(递归实现),则可能会发生栈内存溢出,即Stack Overflow,因此推荐广度优先搜索。
JS算法源码
const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;
// 矩阵行数,矩阵

已下架不支持订阅

499

被折叠的 条评论
为什么被折叠?



