题解 | #放苹果#

放苹果

https://www.nowcoder.com/practice/bfd8234bb5e84be0b493656e390bdebf

#include <stdio.h>

int main() {
    int m,n;
    while (scanf("%d %d", &m, &n) != EOF) {
        int dp[11][11] = {0};
        // 没有苹果和只有一个盘子的时候我们只有一种分法
        if(m == 0 || n == 1) {
            printf("1\n");
        } else {
            for(int i = 0; i < m + 1; i++) {
                for(int j = 1; j < n + 1; j++) {
                    if(i == 0 || j == 1 || i == 1) {
                        dp[i][j] = 1;
                    } else if(i >= j) { // 如果苹果的数量大于盘子的数量
                        dp[i][j] = dp[i - j][j] + dp[i][j - 1];
                    } else {
                        dp[i][j] = dp[i][j - 1];
                    }
                }
            }
            printf("%d\n", dp[m][n]);
        }
        
    }
    return 0;
}

全部评论

相关推荐

11-29 11:21
门头沟学院 Java
总包48.5w,意想不到的价格
想开了的垂耳兔很喜欢拱白菜:转人工
点赞 评论 收藏
分享
Hello_WordN:咱就是说,除了生命其他都是小事,希望面试官平安,希望各位平时也多注意安全
点赞 评论 收藏
分享
11-01 08:48
门头沟学院 C++
伤心的候选人在吵架:佬你不要的,能不能拿户口本证明过户给我。。球球了
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务