题解 | #走方格的方案数#

走方格的方案数

http://www.nowcoder.com/practice/e2a22f0305eb4f2f9846e7d644dba09b

n*m的格子有fun(n,m)种走法
到达右下角点的走法相当于到达与其相邻的两个点的走法之和
即 fun(n, m) = fun(n - 1, m) + fun(n, m -1)
fun(1, 1) = 2;
fun(1, n) = fun(1, n - 1) + 1;
fun(m, 1) = fun(m - 1, 1) + 1;


int fun(int n, int m)
{
    if (n == 1 && m == 1)
        return 2;
    else if (n == 1 && m > 1)
        return fun(n, m - 1) + 1;
    else if (n > 1 && m == 1)
        return fun(n - 1, m) + 1;
    else
        return fun(n - 1, m) + fun(n, m - 1);
}

int main(void)
{
    int n, m;
    int val = 0;
    
    scanf("%d %d", &n, &m);
    
    val = fun(n, m);
    
    printf("%d\n", val);
    return 0;
}
全部评论

相关推荐

06-11 17:39
门头沟学院 Java
小呆呆的大鼻涕:卧槽,用户彻底怒了
点赞 评论 收藏
分享
06-10 23:36
已编辑
首都经济贸易大学 C++
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务