地上有乙個m行和n列的方格。乙個機械人從座標0,0的格仔開始移動,每一次只能向左,右,上,下四個方向移動一格,但是不能進入行座標和列座標的數字之和大於k的格仔。 例如,當k為18時,機械人能夠進入方格(35,37),因為3+5+3+7 = 18。但是,它不能進入方格(35,38),因為3+5+3+8 = 19。請問該機械人能夠達到多少個格仔?
dfs:
class
solution
while
(j >0)
return count;
}int num =0;
int dir[5]
=;void
dfs(
int*
&m,int threshold,
int rows,
int cols,
int i,
int j)
intmovingcount
(int threshold,
int rows,
int cols)
};
bfs:
class
solution
while
(j >0)
return count;
}int
movingcount
(int threshold,
int rows,
int cols)
;int
*matrix =
newint
[rows*cols]
;for
(int i =
0; i < rows*cols; i++
) matrix[i]=0
;
queueint,
int>
> q;
if(rows >
0&& cols >
0&& threshold >=0)
);matrix[0]
=1;}
while
(!q.
empty()
)); matrix[
(p.first+dir[i]
)*cols+p.second+dir[i+1]
]=1;
}}q.
pop();
num++;}
return num;}}
;
開二位陣列:
int mark[rows]
[cols]
;memset
(mark,-1
,sizeof
(mark)
);
機械人走格仔
時間限制 1 sec 記憶體限制 128 mb 提交 265 解決 63 提交 狀態 討論版 乙個長x寬y的棋盤,有xy個格仔。將機械人放在某個格仔中,機械人可以沿上 下 左 右四個方向走一步到相鄰的格仔中,但不會越過棋盤邊界。問機械人要經過所有的格仔至少一次並最終回到起點最少需要多少步?規則允許機...
遞推 機械人走格仔
題目 有乙個x y的網格,乙個機械人只能走格點且只能向下走或向右走,要從左上角走到左下角,求有多少總走法。該題可以直接使用遞迴,也可以著遞推公式,但感覺遞迴的效能沒有遞推的好,但自我感覺遞推的思路相對較難,規律較為難找。遞迴 public static intrecursion int x,int ...
機械人能走多少格仔
地上有乙個m行和n列的方格。乙個機械人從座標0,0的格仔開始移動,每一次只能向左,右,上,下四個方向移動一格,但是不能進入行座標和列座標的數字之和大於k的格仔。例如,當k為18時,機械人能夠進入方格 35,37 因為3 5 3 7 18。但是,它不能進入方格 35,38 因為3 5 3 8 19。請...