编程题
题目1:(回溯法)
- 【题目描述】给定一个矩阵,从某点出发,找到箱子,然后把箱子推到目的地。计算最少使用多少步。无法到达用-1表示。
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String str = in.nextLine();
String[] data = str.split(" ");
int n = Integer.valueOf(data[0]);
int m = Integer.valueOf(data[1]);
List<String> strList = new ArrayList(n);
for(int i = 0 ; i < n; i++){
strList.add(in.nextLine());
}
//转化为字符矩阵。
char[][] matrix = getMatrix(strList, n, m);
//发现各自的位置
int startX = -1,startY = -1;
int boxX = -1,boxY = -1;
int targetX = -1,targetY = -1;
for(int i =0;i < n;i++){
for(int j =0;j < m;j+&#