Files
python/TangDou/LanQiaoBei/LanQiaoBei13GuoSai/问题.md
HuangHai 1f397eca87 'commit'
2025-08-30 18:35:01 +08:00

21 lines
1.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

### 2、青蛙跳木桩
$Q$:为什么写的伪代码与真正实现的代码,检查是不是终点的位置不一样?
(1)在检查下一个可达位置时,直接检查下一个位置是不是终点
(2)在检查下一个可达位置时,不管下一个位置是不是终点,直接再次入队列,直到它从队列中弹出时再检查。
这两种作法,从效率上讲,肯定是第1种更佳。参看代码进行理解。
### 3、翻卡片
为什么存在某种特定的情况比如
B B A A A
B B A A A
A A A A A
A A A A A
Q:此时,我们选择了左上角的B,然后以此点为起点,进行洪水覆盖,结果,发现只能覆盖掉1个点,可是,此时整个图形的最大覆盖值应该是 16 个!
这不就错了吗?
A: 不用怕,因为我们的程序还在继续,会走到第2个B点,此时就能获取到17个,比刚才的肯定要大,这个结果最终会替换掉刚才被封成边缘的B。也算是一种贪心策略吧。当然,我们也可以在假定某个位置是A以后,再全局洪水覆盖一次,找出连通块的数量最大值,也是一样的。