蓝桥杯——分糖果

题目

两种糖果分别有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)
相关推荐
2301_80620446几秒前
蓝桥杯第十四届省赛代码参考
职场和发展·蓝桥杯
Ronin-Lotus1 分钟前
蓝桥杯篇---EEPROM内部存储地址
职场和发展·蓝桥杯·c·eeprom·keil
小星星闪亮登场10 分钟前
Codeforces Round 1115 ( Div. 2)
数据结构·c++·算法·贪心算法·排序算法·codeforces
计算机小白一个11 分钟前
蓝桥杯 Java B 组之哈希表应用(两数之和、重复元素判断)
java·数据结构·算法·蓝桥杯
Loge编程生活13 分钟前
打卡信奥刷题(3449)用C++实现信奥题 P10429 [蓝桥杯 2024 省 B] 拔河
开发语言·数据结构·c++·算法·青少年编程
卷无止境41 分钟前
当独立开发者也能造出3A画质的游戏:Godot引擎深度解析
后端·python·godot
在世修行1 小时前
从零打造 C# 工业视觉检测系统(八):Modbus RTU 协议解析与 PLC 剔除控制实战
开发语言·c#
万物皆智能1 小时前
AI合规面试:AI合规常见面试题与答题思路
人工智能·面试·职场和发展
sunburn-1 小时前
Java 队列全面详解:从入门到面试实战
java·开发语言·汇编·ide·idea
AI直播技术杂谈1 小时前
AI直播推流链路中延迟优化的通用技术方案
开发语言·人工智能·php