【蓝桥杯】分糖果(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;
}
相关推荐
咋吃都不胖lyh10 分钟前
Haversine 距离算法详解(零基础友好版)
线性代数·算法·机器学习
FPGA小c鸡14 分钟前
FPGA通信基带算法完全指南:从理论到实战的DSP加速方案
算法·fpga开发
鱼跃鹰飞24 分钟前
面试题:解释一下什么是全字段排序和rowid排序
数据结构·数据库·mysql
SunkingYang25 分钟前
QT如何读取csv文件
c++·qt·csv·读取文件
@Aurora.29 分钟前
优选算法【专题三:二分查找算法】
算法
soldierluo30 分钟前
向量与向量数据
人工智能·算法·机器学习
CoderCodingNo33 分钟前
【GESP】C++六级考试大纲知识点梳理, (2) 哈夫曼树、完全二叉树与二叉排序树
开发语言·c++
水饺编程40 分钟前
第4章,[标签 Win32] :获取设备环境句柄的第一个方法
c语言·c++·windows·visual studio
a努力。1 小时前
字节跳动Java面试被问:一致性哈希的虚拟节点和数据迁移
java·开发语言·分布式·算法·缓存·面试·哈希算法
老四啊laosi1 小时前
[C++初阶] 9. STL--string使用(二)
c++