题解 | #放苹果#

放苹果

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;
}

全部评论

相关推荐

05-19 19:57
蚌埠学院 Python
2237:Gpa70不算高,建议只写排名,个人技能不在多而在精,缩到8条以内。项目留一个含金量高的,减少间距弄到一页,硕士简历也就一页,本科不要写很多
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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