背着书包去上学~
小D從家到學校的道路結構是這樣的:由n條東西走向和m條南北走向的道路構成了一個n*m的網格,每條道路都是單向通行的(只能從北向南,從西向東走)
已知小D的家在網格的左上角,學校在網格的右下角。
問小D從他的家到學校一共有多少種不同的上學路線。
輸入
兩個正整數n和m,意義如題目所述。
輸出
小D上學路線數量,結果對1000000007取余。
樣例輸入
3 4
樣例輸出
10
100%的數據,n,m≤1000
這個題,看到的第一思路就是組合數。
因為從頭到學校需要n+m-2步 ,將向右走看成一種方案有m-1,向下走看成一種方案n-1,那么C(n+m-2,m-1)就是答案了。聽起來很簡單,不過還要取余。。。很明顯階乘肯定爆掉了,每次對階乘取余不符合除法取余規則。。菜雞的我還沒學會除法取余(逃)所以這種方法寫完交上去WA了幾次就放棄了。經大佬啟發 ,最后的方案數不就等于上兩個格方案數相加嘛,這樣不斷遞推,就可以得到最后的方案數,算是能a掉了吧~
先將邊路變成1,因為到邊路的方案只有一種所以都設為1,再從[2][2]開始遍歷
將能移動到它的上兩個方格方案數相加,一直到終點,可得答案。
總結
- 上一篇: 如何用计算机进行文件夹整理,如何对电脑文
- 下一篇: MSB/LSB(big endian/l