请选择 进入手机版 | 继续访问电脑版

动态规划-捞鱼问题

[复制链接]
孤单 发表于 2020-12-31 18:56:42 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
题目

3个桶,5条鱼,每个桶中可放置0~3条鱼,请问共有分列有多少种 ?
分析过程


递归及动态规划代码

  1. #include #include /************************************************ * 递归方式求剩余bucket个桶放置剩余fish条鱼的总分配方法 * ********************************************** * @param int bucket                表示当前剩余多少个桶 * @param int fish                        表示当前剩余多少条鱼 * @param int bugket_max        表示每个桶最多分配条数 * @return long result * ********************************************** */long dfs(int bucket, int fish, int bucket_max) {        if ( bucket == 1 ) {                if ( fish >= 0 && fish = 0; k++ ) {                                tmp[i][j] += tmp[i-1][j-k];                        }                }        }        return tmp[bucket][fish];}int main() {    long res = dfs(3, 5, 3);    long res_dp = dp(3, 5, 3);        long res_1 = dfs(10, 20, 10);    long res_dp_1 = dp(10, 20, 10);        long res_2 = dp(20, 20, 10);    long res_dp_2 = dp(20, 30, 10);    printf("res = %ld res_dp = %ld\n", res, res_dp);    printf("res_1 = %ld res_dp_1 = %ld\n", res_1, res_dp_1);        printf("res_2 = %ld res_dp_2 = %ld\n", res_2, res_dp_2);        return 0;}/*********************执行效果***************************** 运行情况: macos sizeof(long) = 8 *********res = 12 res_dp = 12res_1 = 9528805 res_dp_1 = 9528805res_2 = 68785126410 res_dp_2 = 18145201435834*************************************************/
复制代码
来源:https://blog.csdn.net/u011944141/article/details/111934031
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

发布主题

专注素材教程免费分享
全国免费热线电话

18768367769

周一至周日9:00-23:00

反馈建议

27428564@qq.com 在线QQ咨询

扫描二维码关注我们

Powered by Discuz! X3.4© 2001-2013 Comsenz Inc.( 蜀ICP备2021001884号-1 )