地上有乙個 m 行和 n 列的方格。乙個機械人從座標 (0, 0) 的格仔開始移動,每一次只能向左右上下四個方向移動一格,但是不能進入行座標和列座標的數字之和大於 k 的格仔。
例如,當 k 為 18 時,機械人能夠進入方格 (35,37),因為 3+5+3+7=18。但是,它不能進入方格 (35,38),因為 3+5+3+8=19。請問該機械人能夠達到多少個格仔?
主要是運用回溯法:
package cn.cqu.edu;
public class moving ,,,}; //上下左右
public int sum_count(int rows,int cols) //計數
}return count; }
public boolean moving(int array,boolean flag,int threshold,int i_row,int j_col) //遞迴
flag[i_row][j_col]=true;
total_count=total_count+1;
if(total_count>max_count)
for(int ele:next)
return false; }
public int movingcount(int threshold, int rows, int cols)
} boolean flag=new boolean[rows][cols];
this.rows=rows;
this.cols=cols;
moving(array,flag,threshold,0,0); //從[0,0]這個位置開始
return total_count;
}public static void main(string args)
}
機械人運動範圍
題目 地上有乙個m行和n列的方格。乙個機械人從座標0,0的格仔開始移動,每一次只能向左,右,上,下四個方向移動一格,但是不能進入行座標和列座標的數字之和大於k的格仔。例如,當k為18時,機械人能夠進入方格 35,37 因為3 5 3 7 18。但是,它不能進入方格 35,38 因為3 5 3 8 1...
機械人運動範圍
地上有乙個m行和n列的方格。乙個機械人從座標0,0的格仔開始移動,每一次只能向左,右,上,下四個方向移動一格,但是不能進入行座標和列座標的數字之和大於k的格仔。例如,當k為18時,機械人能夠進入方格 35,37 因為3 5 3 7 18。但是,它不能進入方格 35,38 因為3 5 3 8 19。請...
機械人的運動範圍
題目 地上有乙個m行和n列的方格。乙個機械人從座標0,0的格仔開始移動,每一次只能向左,右,上,下四個方向移動一格,但是不能進入行座標和列座標的數字之和大於k的格仔。例如,當k為18時,機械人能夠進入方格 35,37 因為3 5 3 7 18。但是,它不能進入方格 35,38 因為3 5 3 8 1...