蓝桥杯——分糖果

题目

两种糖果分别有9个和16个,要全部分给7个小朋友,每个小朋友得到的糖果总数最少为2个最多为5个,问有多少种不同的分法。糖果必须全部分完。

只要有其中一个小朋友在两种方案中分到的糖果不完全相同,这两种方案就算作不同的方案。

答案提交

这是---道结果填空的题,你只需要算出结果后提交即可。本题的结果为---个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

分析

分糖果很明显的DFS,我们设置7个深度,每个深度代表一个孩子,两种糖果,m=9,n=16,当这两种糖果的值达到9和16或者这两种糖果的值都被消耗完了就返回,输出count。

代码

python 复制代码
count=0
def dfs(depth,m,n):
  global count
  if depth==7:
    if m==9 and n==16:
      count+=1
    return
  for i in range(6):
    for j in range(6):
      if 2<=i+j<=5:
        dfs(depth+1,m+i,j+n)
dfs(0,0,0)
print(count)
python 复制代码
count= 0
def dfs(depth, n, m):
    global count
    if depth == 7:
        if n == 0 and m == 0:
            count += 1
        return
    for i in range(6):
        for j in range(6):
            if 2 <= i + j <= 5:
                dfs(depth + 1, n - i, m - j)
dfs(0,9,16)
print(count)
相关推荐
ChoSeitaku6 分钟前
NO.91十六届蓝桥杯备战|图论基础-图的存储和遍历|邻接矩阵|vector|链式前向星(C++)
c++·蓝桥杯·图论
qq_365911606 分钟前
探索 MCP 和 A2A 协议: 本质上新协议都基于 HTTP的
开发语言
袖清暮雨9 分钟前
【专题】图论
算法·图论
可编程芯片开发14 分钟前
基于双PI矢量控制结构和SVPWM的风力发电系统Simulink建模与仿真
算法
*.✧屠苏隐遥(ノ◕ヮ◕)ノ*.✧14 分钟前
汉诺塔问题——用贪心算法解决
c语言·数据结构·算法·visualstudio·visual studio
junka14 分钟前
用vulkan来实现一个算子
后端·算法
爱的叹息18 分钟前
Java Lambda 表达式详解:发展史、语法、使用场景及代码示例
java·开发语言·python
q5673152323 分钟前
利用Ruby的Typhoeus编写爬虫程序
开发语言·爬虫·scrapy·ruby
呼呼~²⁰¹⁷26 分钟前
两个树莓派如何通过wifi direct传输视频并显示
python
ChiaWei Lee28 分钟前
【C++初学】课后作业汇总复习(七) 指针-深浅copy
开发语言·c++