当前位置:   article > 正文

华为OD机试 - 分月饼 - 回溯(Java 2024 D卷 200分)_cyuyan中秋节公司分月饼,m个员工,买了n个月饼

cyuyan中秋节公司分月饼,m个员工,买了n个月饼

一、题目描述

中秋节,公司分月饼,m个员工,买了n个月饼,m<=n,每个员工至少分1个月饼,但可以分多个,单人分到最多月饼的个数是Max1,单人分到第二多月饼个数是Max2,Max1-Max2<=3,单人分到第n-1多月饼个数是Max(n-1),单人分到第n多月饼个数是Max(n),Max(n-1)-Max(n)<=3问有多少种分月饼的方法?

二、输入描述

每一行输入m n,表示m个员工,n个月饼,m<=n

三、输出描述

输出有多少种月饼分法

1、输入

2 4

2、输出

2

3、说明

分法有2种
4=1+3
4=2+2
注意:1+3和3+1算一种分法

四、解题思路

1、全局变量:

m: 员工总数。
n: 月饼总数。
maxDiff: 员工之间分到的月饼数最大允许的差。
ans: 满足条件的分月饼方案数量。

2、递归函数 distribute:

level: 当前正在为第 level 个员工分配月饼。
min: 当前员工可以分得的最少月饼数。
max: 当前员工可以分得的最多月饼数。
remain: 还剩多少个月饼未分配。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/码创造者/article/detail/806194
推荐阅读
相关标签
  

闽ICP备14008679号