牛客 拜訪 動態規劃

2021-07-25 17:54:57 字數 652 閱讀 7370

左右中只能選乙個方向,若選擇左只能一直向左走。上下中只能選擇乙個方向,若選擇下只能一直向下。

所以有2種情況

(1)二者位置在對角線上

(2)兩者位置重合或處於同一行或同一列

class visit 

if(map[i][j]==2)

}//同行或同列 //這裡應該還能優化到下面的對角線那種情況(懶)

if(si==ei)

if(sj==ej)

//對角線 //裸的動態規劃

if(si>ei)

int g=1;if(sj>ej) g=-1;

for(int i=si+1;i<=ei;i++)

for(int j=sj+g;;j+=g)

else

if(map[si][j]==0) dp[si][j]=1;

else

break;

}for(int i=si+1;i<=ei;i++)

else

dp[i][j]=dp[i-1][j]+dp[i][j-g];

cout}};

牛客(美團) 拜訪(動態規劃)

現在有乙個城市銷售經理,需要從公司出發,去拜訪市內的商家,已知他的位置以及商家的位置,但是由於城市道路交通的原因,他只能在左右中選擇乙個方向,在上下中選擇乙個方向,現在問他有多少種方案到達商家位址。給定乙個地圖map及它的長寬n和m,其中1代表經理位置,2代表商家位置,1代表不能經過的地區,0代表可...

拜訪 動態規劃

現在有乙個城市銷售經理,需要從公司出發,去拜訪市內的商家,已知他的位置以及商家的位置,但是由於城市道路交通的原因,他只能在左右中選擇乙個方向,在上下中選擇乙個方向,現在問他有多少種方案到達商家位址。給定乙個地圖map及它的長寬n和m,其中1代表經理位置,2代表商家位置,1代表不能經過的地區,0代表可...

牛客動態規劃題1

給你乙個長度為50的數字串,問你有多少個子序列構成的數字可以被3整除 答案對1e9 7取模 輸入描述 輸入乙個字串,由數字構成,長度小於等於50 輸出描述 輸出乙個整數 示例1輸入 複製132 輸出複製 3示例2 輸入複製9輸出 複製1示例3輸入 複製333 輸出複製 7示例4 輸入複製 12345...