【蓝桥杯】分糖果(DFS)

问题描述

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

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

答案提交

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

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 256M

总通过次数: 1358 | 总提交次数: 1521 | 通过率: 89.3%

难度: 简单 标签: 2023, 枚举, 省赛, DFS

代码分享:

cpp 复制代码
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
int ans=0;
void dfs(int a,int b,int id){
  if(id>7){
    if(a==0&&b==0)  ans++;
    return;
  }
  for(int i=0;i<=a;i++){
    for(int j=0;j<=b;j++){
      if((i+j)>=2 && (i+j)<=5)
      dfs(a-i,b-j,id+1);
    }
  }
}
int main()
{
  dfs(9,16,1);
  cout<<ans;
  // 请在此输入您的代码
  return 0;
}
相关推荐
如意猴3 分钟前
【C++】001--C++入门(1)
开发语言·c++
hetao173383713 分钟前
2026-09-01~09-04 hetao1733837 的刷题记录
c++·算法
Evand J30 分钟前
【MATLAB例程,图像滤波5】 反谐波均值滑动窗口滤波(CHMF)图像降噪与质量评价,附代码下载链接
图像处理·算法·计算机视觉·matlab·均值算法·滑动窗口滤波·均值滑动
血小板要健康1 小时前
链表 阶段算法总结
java·数据结构·笔记·算法·leetcode·链表
a187927218311 小时前
【算法】回溯算法(三):三记重锤与 N 皇后——记忆化、状态设计与三层漏斗
算法·leetcode·go·剪枝·回溯·n皇后·算法讲解
HugoStudio_SWAN3 小时前
洛谷 P1420 / P1179 / B4262 最长连号、数字统计与词频统计——统计的三种面孔
c++·学习·程序人生·算法
青 春 记 忆4 小时前
LeetCode 350. 两个数组的交集 II|Python 解法详解
python·算法·leetcode
raindayinrain4 小时前
c++并发
c++
j7~4 小时前
【C++】智能指针的使用及其原理--详解
c++·c++11·内存泄漏·智能指针·raii·boost智能指针
阳明山水4 小时前
销量预测2025—2026:从模型竞赛到系统融合的范式转型
人工智能·深度学习·算法·机器学习·架构