二哥找宝箱
测试数据来自 wjszez/2083
【题目描述】
作为一个强迫症患者,二哥在走游戏里的迷宫时一定要把所有的宝箱收集齐才肯罢休。
现在给你一个N×M的迷宫,里面有障碍、空地和宝箱,二哥在某个起始点,每一步二哥可以往上下左右走, 当然前提是没有走出迷宫并且走到的点不是障碍。如果二哥走到了某个为宝箱的点,那么这个宝箱就被他收集到了,然后此处变为空地。
现在你需要计算二哥最少需要走多少步才能收集齐所有的宝箱。
【输入数据】
输入共有两行。
第一行一个两个正整数N和M,表示迷宫大小。
接下来N行,每行M个整数,第i+1行的第j个整数表示迷宫第i行第j列的情况,0表示空地,-1表示障碍,1表示宝箱,2表示二哥的起始点。保证2只有一个。
【输出数据】
一行,包含一个整数,表示二哥最少的步数。如果二哥无法收集齐所有宝箱,输出-1。
【样例】
box.in
3 5
1 -1 1 -1 2
0 -1 0 -1 0
0 0 0 0 0
box.out
12
【数据规模】
40% 宝箱只有一个
100% 0<N,M<=100, 宝箱个数不超过5
信息
- ID
- 2491
- 难度
- 10
- 分类
- (无)
- 标签
- 递交数
- 1
- 已通过
- 0
- 通过率
- 0%
- 上传者