description
lhcoder有乙個n行m列的棋盤,有一顆棋子從左上角(1,1)開始移動,每次只能往右或者往下移動一格,到右下角(n,m)一共有多少移動方案?
input
有多組測試資料,每組測試資料中有兩個整數n和m(2 <= n, m <= 1000),代表為n行m列的棋盤。
output
乙個整數p,代表從左上角(1,1)移動到右下角(n,m)的方案數,由於方案數可能比較大,結果請對99991取模。
sample input 1
2 2sample output 1
2sample input 2
2 3sample output 2
當時還以為是組合數學,還以為是數論的題目。但是資料太大,我有比較菜。
我們可以逆過來想,當我們到達(n,m)的時候,逆著往回退,這樣開乙個陣列記錄一下,直到退回到(1,1),這個時候的總數就是我們所需的種類數了。
記憶化搜尋
**如下:
#include#include#include#define ll long long
#define mod 99991
using namespace std;
const int maxx=1e3+10;
int pre[maxx][maxx];
int n,m;
int dfs(int x,int y)
int main()
}
棋盤裡的數字(dfs)
描述 lhcoder有乙個n行m列的棋盤,有一顆棋子從左上角 1,1 開始移動,每次只能往右或者往下移動一格,到右下角 n,m 一共有多少移動方案?輸入有多組測試資料,每組測試資料中有兩個整數n和m 2 n,m 1000 代表為n行m列的棋盤。輸出乙個整數p,代表從左上角 1,1 移動到右下角 n,...
殘缺的棋盤 數學
題目 i.殘缺的棋盤 在西洋棋裡,王是最重要的乙個棋子。每一步,王可以往上下左右或者對角線方向移動一 步,如下圖所示。給定兩個格仔 a r1,c1 b r2,c2 你的任務是計算出乙個王從 a到 b至少需要走多少步。為了 避免題目太簡單,我們從棋盤裡拿掉了乙個格仔 c r3,c3 abc 保證互不相...
組合數學 小兔的棋盤(卡特蘭數)
題目鏈結 小兔的叔叔從外面旅遊回來給她帶來了乙個禮物,小兔高興地跑回自己的房間,拆開一看是乙個棋盤,小兔有所失望。不過沒過幾天發現了棋盤的好玩之處。從起點 0,0 走到終點 n,n 的最短路徑數是c 2n,n 現在小兔又想如果不穿越對角線 但可接觸對角線上的格點 這樣的路徑數有多少?小兔想了很長時間...