蓝桥杯——分糖果

题目

两种糖果分别有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)
相关推荐
程序员三藏3 小时前
接口测试及常用接口测试工具总结
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·接口测试
小二·4 小时前
Python Web 开发进阶实战 :AI 原生数字孪生 —— 在 Flask + Three.js 中构建物理世界实时仿真与优化平台
前端·人工智能·python
spcier4 小时前
图论拓扑排序-Kahn 算法
算法·图论
知星小度S4 小时前
动态规划(一)——思想入门
算法·动态规划
ysa0510304 小时前
动态规划-逆向
c++·笔记·算法
燃于AC之乐4 小时前
我的算法修炼之路--7—— 手撕多重背包、贪心+差分,DFS,从数学建模到路径DP
c++·算法·数学建模·深度优先·动态规划(多重背包)·贪心 + 差分
闻缺陷则喜何志丹4 小时前
【BFS 动态规划】P12382 [蓝桥杯 2023 省 Python B] 树上选点|普及+
c++·蓝桥杯·动态规划·宽度优先·洛谷
Whisper_Sy4 小时前
Flutter for OpenHarmony移动数据使用监管助手App实战 - 网络状态实现
android·java·开发语言·javascript·网络·flutter·php
chinesegf4 小时前
文本嵌入模型的比较(一)
人工智能·算法·机器学习
Bony-5 小时前
Go语言垃圾回收机制详解与图解
开发语言·后端·golang