当前位置: 首页 > article >正文

【分糖果——DFS】

题目

代码1

#include <bits/stdc++.h>
using namespace std;
set<string> s;
void dfs(int num1, int num2, int u, string ans)
{
  if (u == 7)
  {
    if (num1 + num2 > 5)
      return;
    ans += (char)((num1) * 17 + num2);
    s.insert(ans);
    return;
  }

  for (int i = 0; i <= num1; i++)
  {
    for (int j = 0; j <= num2; j++)
    {
      if (i + j < 2 || i + j > 5 || num1 + num2 - i - j < 2)
        continue;
      char ch = i * 17 + j;
      dfs(num1 - i, num2 - j, u + 1, ans + ch);
    }
  }
}
int main()
{
  dfs(9, 16, 1, "");

  cout << s.size();
}

 代码2

#include <bits/stdc++.h>
using namespace std;
int ans;
void dfs(int num1, int num2, int u)
{
  if (u > 7)
  {
    if (num1 == 0 && num2 == 0)
      ans++;
    return;
  }

  for (int i = 0; i <= num1; i++)
  {
    for (int j = 0; j <= num2; j++)
    {
      if (i + j < 2 || i + j > 5)
        continue;
      dfs(num1 - i, num2 - j, u + 1);
    }
  }
}
int main()
{
  dfs(9, 16, 1);
  cout << ans;
}


http://www.kler.cn/a/473354.html

相关文章:

  • Matplotlib 直方图:数据可视化基础
  • 全新免押租赁系统打造便捷安全的租赁体验
  • 和为0的四元组-蛮力枚举(C语言实现)
  • JWT与Token
  • 【机器学习】机器学习的基本分类-自监督学习(Self-supervised Learning)
  • w~自动驾驶~合集16
  • 面向对象分析与设计Python版 建模工具UML
  • k8s集群监控系统部署方案
  • 回归预测 | MATLAB实GRU多输入单输出回归预测
  • Spring boot接入xxl-job
  • 【传统枪机现代枪机的功能需求】
  • 【HarmonyOS NEXT】鸿蒙应用使用后台任务之长时任务,解决屏幕录制音乐播放等操作不被挂起
  • C/C++中头文件time
  • DAX实现K近邻(KNN)分类算法
  • 课题推荐——基于GPS的无人机自主着陆系统设计
  • 【Python3】异步操作 redis
  • 69.基于SpringBoot + Vue实现的前后端分离-家乡特色推荐系统(项目 + 论文PPT)
  • 通过可穿戴外骨骼,以更灵活的方式操作你的机器人。
  • 分布式主键ID生成方式-snowflake雪花算法
  • 迅为RK3568开发板篇OpenHarmony配置HDF驱动控制LED-修改HCS硬件配置
  • 电脑硬盘系统迁移及问题处理
  • linux相关conda操作
  • 深度学习中的卷积和反卷积(二)——反卷积的介绍
  • 智能化API接口:重塑电商数据交互的未来
  • 软件工程期末总结
  • 互联网全景消息(9)之Kafka深度剖析(上)