51nod1119 機械人走方格V2

2022-05-01 23:24:10 字數 770 閱讀 1136

解題關鍵:

1、此題用dp的方法可以看出,dp矩陣為楊輝三角,通過總結,可以得出 答案的解為$c_^$

2、此題可用組合數學的思想考慮,總的步數一共有$n+m-2$步,在這所有的步數中,需要選擇向下走的步數的位置,由此可得,答案的解為:$c_^$

此題即可轉化為大組合數取模問題;

1 #include2

using

namespace

std;

3 typedef long

long

ll;4

const

int mod=1e9+7;5

ll mod_pow(ll x,ll n,ll p)

12return

res;13}

14ll comb(ll n,ll m,ll p)

25return (tn*mod_pow(tm,p-2,p)+mod)%mod;26}

27int

main()

如下為dp的解法

1 #include2

using

namespace

std;

3 typedef long

long

ll;4

const

int mod=1e9+7;5

int dp[1002][1002];6

intmain()

12for(int i=2;i<=m;i++)16}

17 cout18 }

51nod 1119 機械人走方格 V2

乙個機械人從左上走到右下,每次只能往下或往右走,問最後到達右下時能有多少種方法。1.如果n,m小的話可以遞迴求解,但是這裡n,m太大,陣列開不了。我們取乙個小一點的n,m。用遞推填表,可以發現表是乙個楊輝三角。楊輝三角在第n行第m列的值為c n 1,m 1 可以得到 n,m 位置處應該填上c n 1...

51nod 1119 機械人走方格V2

m n的方格,乙個機械人從左上走到右下,只能向右或向下走。有多少種不同的走法?由於方法數量可能很大,只需要輸出mod 10 9 7的結果。收起輸入 第1行,2個數m,n,中間用空格隔開。2 m,n 1000000 輸出輸出走法的數量 mod 10 9 7。輸入樣例 2 3輸出樣例 3 題目傳送門 i...

51nod1119 機械人走方格 V2

終於學到了求組合數的正確姿勢 c n m 2,m 1 include include include includeusing namespace std define rep i,s,t for int i s i t i define dwn i,s,t for int i s i t i de...