第30568题 单选题
在使用C++实现状态压缩广度优先搜索(状压BFS)解决网格中钥匙与门的通行问题时,以下关于状态设计的说法正确的是?

已知网格大小为m*n,每个格子可能是空地、墙、门(对应a-f共6种)、钥匙(对应A-F共6种),持有对应钥匙才能通过对应门,求从起点到终点的最短步数。

A

状态只需记录当前坐标(x,y),visited数组大小设为m*n即可

B

可以用一个6位二进制数表示钥匙持有状态,每个bit位为1代表持有对应钥匙,完整状态为(x,y,mask),visited数组大小设为mn(1<<6)即可

C

状压BFS中可以优先遍历深度更大的节点,保证首次到达终点时的步数就是最短路径

D

当我们在某个格子捡到新钥匙时,无需更新mask状态,可直接沿用之前的状态继续遍历

程序运行统计
暂无判题统计
提交0次 正确率0.00%
答案解析