蓝桥集训之带分数

蓝桥集训之带分数

  • 核心思想:递归 + 暴力

    • 因为就一个数 暴力就行了
    • 1 - 9全排列 然后双指针ij分割成三部分 判断条件
cpp 复制代码
  #include<iostream>
  #include<cstring>
  
  using namespace std;
  const int N = 10;
  int num[N];
  int target,res;
  bool st[N];
  
  int calc(int l,int r)  //计算一段的数值(全排列)
  {
      int cnt=0;
      for(int i=l;i<=r;i++)
      {
          cnt = cnt*10 + num[i];
      }
      return cnt;
  }
  int dfs(int u)
  {
      if(u == 9)  //全排列完成 所有数都用过了
      {
          for(int i=0;i<7;i++)  //分割三部分
          {
              for(int j=i+1;j<8;j++)
              {
                  int a = calc(0,i);
                  int b = calc(i+1,j);
                  int c = calc(j+1,8);
                  if(a * c + b == c * target) res ++;  //因为除法是整除 所以转化为加减乘
              }
          }
      }
      
      for(int i=1;i<=9;i++)  //九个数遍历一遍
      {
          if(!st[i])  //没用过
          {
              st[i] = true;
              num[u] = i;
              dfs(u+1);  //递归
              st[i] = false;  //恢复现场
          }
      }
      return res;
  }
  int main()
  {
      cin>>target;
      cout<<dfs(0)<<endl;
      return 0;
  }
相关推荐
2301_7644413315 分钟前
python实现罗斯勒吸引子(Rössler Attractor)
开发语言·数据结构·python·算法·信息可视化
码农三叔19 分钟前
(7-3)自动驾驶中的动态环境路径重规划:实战案例:探险家的行进路线
人工智能·算法·机器学习·机器人·自动驾驶
飞Link33 分钟前
【Water】数据增强中的数据标注、数据重构和协同标注
算法·重构·数据挖掘
漫随流水42 分钟前
leetcode算法(559.N叉树的最大深度)
数据结构·算法·leetcode·二叉树
池塘的蜗牛43 分钟前
NR PDSCH和CSI 正交导频设计
算法
CoovallyAIHub1 小时前
仅192万参数的目标检测模型,Micro-YOLO如何做到目标检测精度与效率兼得
深度学习·算法·计算机视觉
sali-tec1 小时前
C# 基于OpenCv的视觉工作流-章10-中值滤波
图像处理·人工智能·opencv·算法·计算机视觉
爱编程的小吴2 小时前
【力扣练习题】151. 反转字符串中的单词
java·算法·leetcode
3***g2052 小时前
MATLAB高效算法设计原则利用MATLAB内置函数
开发语言·算法·matlab