現在有乙個城市銷售經理,需要從公司出發,去拜訪市內的商家,已知他的位置以及商家的位置,但是由於城市道路交通的原因,他只能在左右中選擇乙個方向,在上下中選擇乙個方向,現在問他有多少種方案到達商家位址。
給定乙個地圖map及它的長寬n和m,其中1代表經理位置,2代表商家位置,-1代表不能經過的地區,0代表可以經過的地區,請返回方案數,保證一定存在合法路徑。保證矩陣的長寬都小於等於10。
測試樣例:
[[0,1,0],[2,0,0]],2,3
返回:2
1lass visit
18if(map[i][j]==2)19
22}23}
24if(x1==x2&&y1==y2)
25return0;
26int xt=x11:-1;27
int yt=y11:-1
;28 vectorint>>dp(n,vector(m,1
));29
for(int i=x1+xt;i!=(x2+xt);i+=xt)
3033
for(int j=y1+yt;j!=(y2+yt);j+=yt)
3437
for(int i=x1+xt;i!=(x2+xt);i+=xt)
3843}44
return
dp[x2][y2];45}
46 };
矩陣10 0 1 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 2 0
dp0 0 1 1 1 0
0 0 1 0 0 0
0 0 1 0 0 0
0 0 1 0 0 0
0 0 1 0 0 0
dp[i][j]=dp[i-1][j]+dp[i][j-1]
0 0 1 1 1 0
0 0 1 2 3 0
0 0 1 3 6 0
0 0 1 4 10 0
0 0 1 5 15 0
牛客 拜訪 動態規劃
左右中只能選乙個方向,若選擇左只能一直向左走。上下中只能選擇乙個方向,若選擇下只能一直向下。所以有2種情況 1 二者位置在對角線上 2 兩者位置重合或處於同一行或同一列 class visit if map i j 2 同行或同列 這裡應該還能優化到下面的對角線那種情況 懶 if si ei if ...
動態規劃 美團筆試題 拜訪
題目 現在有乙個城市銷售經理,需要從公司出發,去拜訪市內的商家,已知他的位置以及商家的位置,但是由於城市道路交通的原因,他只能在左右中選擇乙個方向,在上下中選擇乙個方向,現在問他有多少種方案到達商家位址。給定乙個地圖map及它的長寬n和m,其中1代表經理位置,2代表商家位置,1代表不能經過的地區,0...
牛客(美團) 拜訪(動態規劃)
現在有乙個城市銷售經理,需要從公司出發,去拜訪市內的商家,已知他的位置以及商家的位置,但是由於城市道路交通的原因,他只能在左右中選擇乙個方向,在上下中選擇乙個方向,現在問他有多少種方案到達商家位址。給定乙個地圖map及它的長寬n和m,其中1代表經理位置,2代表商家位置,1代表不能經過的地區,0代表可...