3 条题解
-
0doc LV 10 MOD @ 2014-09-07 20:32:57
我们来考虑一下到底有多少状态, N*N(<=20*20)的地图, 蛇的长度是最大是L<=8,如果确定了蛇头的位置, 后面身体的每一段, 都可以用 {L,R,U,D} 来维护方向, 所以总的状态最多也就只有: 20*20*4^7 <= 7,000,000.
把每一个状态抽象为一个 结点, 可以得到一个有向图 G=(V,E), 其中点集大小 |V| <= 7,000,000, 边集大小 |E| <= 4*|V|, 所有边权都是1,
问题就变成了在 G 中求两点最短路径, 那当然 BFS 一次就可以啦. 这是普及组难度题呀各位.
AHdoc
-
-12014-10-02 18:18:08@
队列我开300000才过。蒟蒻还是太弱了连搜索都不会……
-
-12014-09-28 19:47:33@
BFS 队列要手动开到1e6 (巨坑)。
- 1
信息
- ID
- 1879
- 难度
- 9
- 分类
- (无)
- 标签
- (无)
- 递交数
- 228
- 已通过
- 13
- 通过率
- 6%
- 被复制
- 3
- 上传者