九度OJ 1408 吃豆机器人 -- 动态规划

题目地址:http://ac.jobdu.com/problem.php?pid=1408

题目描述:

淘宝公司内部有许多新鲜的小玩具,例如淘宝智能机器人。小时候,大家都玩过那个吃豆子的游戏吧,这机器人就是按照这个游戏设计的,它会朝着豆子的方向行走。不过机器人还存在一个bug,他只会朝南和朝东走。现在有一块空地,分成了n*m个格子,每个格子内有一颗豆子。机器人的起点在西北角,终点在东南角。请问机器人从起点到终点有多少种不同的方法。

输入:

每个案例输入只有一行,有n和m两个正整数,n,m均小于等于10^3。由于答案很大,所以答案对10009取余。

输出:

对于每个案例,输出一行,输出机器人从起点到终点的总方法数。

样例输入:
2 2
3 3
样例输出:
2
6
#include <stdio.h>
long long dp[1001][1001];
 
void Initialize (){
    int i;
    int j;
    for (i=1; i<=1000; ++i){
        dp[1][i] = 1;
        dp[i][1] = 1;
    }
    for (i=2; i<=1000; ++i){
        for (j=2; j<=1000; ++j){
            dp[i][j] = (dp[i-1][j] + dp[i][j-1]) % 10009;
        }
    }
}
 
int main(void){
    int row;
    int col;
    int i;
    int j;
 
    Initialize ();
    while (scanf ("%d%d", &row, &col) != EOF){
        printf ("%lld\n", dp[row][col] % 10009);
    }
 
    return 0;
}


你可能感兴趣的:(动态规划)