题解 | #放苹果#

放苹果

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

全部评论

相关推荐

认真搞学习:28小登的建议,投算法岗不要写什么物理竞赛,互联网+,多写点项目,用什么算法做了什么。还有本科算法是不可能的开发你这个也没有项目啊
点赞 评论 收藏
分享
鼠鼠第一次实习,啥也不懂一直是自己一个人吃的饭,不会做工作老是被嫌弃,大人的世界是这样的吗?
我是星星我会发亮:好的mt有两种,一种愿意教你的,一种几乎什么活都不给你派让你很闲允许你做自己事情的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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