不多bb,直接看**
public
class
robotmovingscopecount
}countwithdfs
(blockspassed,threshold,rows,cols,0,
0);//統計blockspassed中值為1的元素數目,即為符合要求的格仔數
int count =0;
for(
int i=
0;i} system.out.
println
(count);}
/* *dfs策略:
*dfs()
*/public
static
boolean
countwithdfs
(int
blockspassed,
int threshold,
int rows,
int cols,
int i,
int j)
if(blockspassed[i]
[j]==1)
if((sumofinteger
(i)+
sumofinteger
(j))
> threshold)
//格仔(i,j)滿足要求,將blockspassed[i][j]標記為1
blockspassed[i]
[j]=1;
//下一級遞迴
return
countwithdfs
(blockspassed,threshold,rows,cols,i+
1,j)
&&countwithdfs
(blockspassed,threshold,rows,cols,i-
1,j)
&&countwithdfs
(blockspassed,threshold,rows,cols,i,j+1)
&&countwithdfs
(blockspassed,threshold,rows,cols,i,j-1)
;}public
static
intsumofinteger
(int num)
}
以上均為個人見解,如有謬誤,歡迎指正! 機械人運動範圍
題目 地上有乙個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...