牛牛下象棋 京東架構師筆試

2021-08-18 11:37:05 字數 804 閱讀 7236

題目:象棋中馬走「日」字型,以棋盤的左下角為原點,向上為y軸正方向,建立座標系。

牛牛想知道,棋盤左下角的馬,進過k次移動之後,落在座標(x, y)的情況有多少種。當任意一次移動後馬的位置不同時,兩種情況被認為不同。結果取模1000000007。

其中k<= 100000, 0<=x<=8,0<=y<=8。

輸入:

2 3 3

輸出:

2分析:

首先建立乙個vector儲存每一次移動的所有可能操作

vector< pair< int, int>> temp = ;

dp[i][a][b]表示i次移動後,馬位於座標(a,b)的情況數。

第i次到達(a,b),則n-1次必須到達(a+temp[i].first, b+temp[i].second),因此

dp[i][a][b] +=dp[i-1][a+temp[i].first][b+temp[i].second]   其中 i=0….7

#include

#include

#include

#define ll long long

using

namespace

std;

ll dp[10001][9][9];

vector

int, int>> temp = ;

long

long fun(int dx, int dy, int n) }}

}return dp[n][dx][dy];

}int main()

下象棋 爆搜 動態規劃

小樂樂一天天就知道玩,這一天又想玩象棋。我們都知道馬走日。現在給定乙個棋盤,大小是n m,把棋盤放在第一象限,棋盤的左下角是 0,0 右上角是 n 1,m 1 小樂樂想知道,乙個馬從左下角 0,0 開始,走了k步之後,剛好走到右上角 n 1,m 1 的方案數。輸入 多組樣例輸入,每組一行,三個整數n...

小樂樂下象棋(記憶化搜尋)

小樂樂一天天就知道玩,這一天又想玩象棋。我們都知道馬走日。現在給定乙個棋盤,大小是n m,把棋盤放在第一象限,棋盤的左下角是 0,0 右上角是 n 1,m 1 小樂樂想知道,乙個馬從左下角 0,0 開始,走了k步之後,剛好走到右上角 n 1,m 1 的方案數。輸入 多組樣例輸入,每組一行,三個整數n...

找到的不再是「在銀行裡下象棋的奧特曼」

框搜尋的核心是語義web 也就是基於語義的搜尋,可以通過乙個笑話來說明,有乙個笑話 一女子,開出徵婚條件有兩點.1.要帥 2.要有車 電腦去幫她搜尋 結果 象棋 這位女子,不服搜出的結果又輸入 1.要有漂亮的房子 2.要有很多錢 電腦去幫她再次搜尋的結果 銀行 此女子仍然不失望,繼續輸入條件 1要長...