迷宫 返回比赛首页
题目描述
有一个m*n格的迷宫(表示有m行、n列),其中有可走的也有不可走的,如果用>0表示可以走以及能量的数量,0表示不可以走,每通过1个格子可以收集格子所对应的能量。但是不可以重复走以前走过的格子且只能从左上角到最右下角。怎么样收集的能量才能最多.
输入格式
第一行输入1个整数 0 < C < 100 .表示需要处理的迷宫数量。
下面两行分别输入2个整数 3 <= M <= 15, 3 <= N <= 15 分别表示迷宫的行与列
接下来的M行输入 N个数字, 每个数字 0 <= E <= 9
0表示阻挡,无法行走。>0 的数字表示可以通过以及代表的能量数量
注意数字之间没有间隔,行走只能上下左右行走。
测试格式
可以获得的最大能量数量
输入样例
2
4
4
1100
2110
1110
1111
3
4
1000
0110
1110
输出样例
12
题目描述
有一个m*n格的迷宫(表示有m行、n列),其中有可走的也有不可走的,如果用>0表示可以走以及能量的数量,0表示不可以走,每通过1个格子可以收集格子所对应的能量。但是不可以重复走以前走过的格子且只能从左上角到最右下角。怎么样收集的能量才能最多.
输入格式
第一行输入1个整数 0 < C < 100 .表示需要处理的迷宫数量。
下面两行分别输入2个整数 3 <= M <= 15, 3 <= N <= 15 分别表示迷宫的行与列
接下来的M行输入 N个数字, 每个数字 0 <= E <= 9
0表示阻挡,无法行走。>0 的数字表示可以通过以及代表的能量数量
注意数字之间没有间隔,行走只能上下左右行走。
测试格式
可以获得的最大能量数量
输入样例
2
4
4
1100
2110
1110
1111
3
4
1000
0110
1110
输出样例
12
0
解题思路:深度优先搜索,走出所以能到达的路径记录最大的能量,即可。
#include <iostream>
#include <string>
#include <cstdio>
#include <cmath>
#include <vector>
#include <algorithm>
#include <sstream>
#include <cstdlib>
#incl