#include<bits/stdc++.h>
using namespace std;
int a[11],b[11],f[9999],n,m;
int diff=0x7fffffff;
void dfs(int depth){if(depth>n){int s1=b[1],s2=b[1];for(int i=1;i<=m;i++){s1=max(s1,b[i]);//选出m个组中 最大的和最小的 s2=min(s2,b[i]);}diff=min(diff,s1-s2);return ;}//思想是这样的// 第一个for循环 代表的是第几根木棍 因为n个木棍要分m组 故在n根木棍中//每根木棍都有m种选择 m∈(1...m) 即当i==1时 m==1是一种情况    i==1时m==2又是一种情况 ..... //每一根木棍 都是属于(1~m)组的 for(int i=depth;i<=n;i++)//从depth个元素开始枚举 从depth开始是因为每次递归深度加一 因为上次递归已经把//第u-1木棍给用了 //第二个for循环 这根木棍该放在第几个组别 放完组别后然后继续往深度走 for(int j=1;j<=m;j++){if(!f[a[i]]){b[j]+=a[i];f[a[i]]=1;dfs(depth+1);b[j]-=a[i];//回溯  也就是说 上次递归给他的木棒再给他拿回去分给j+1组 f[a[i]]=0;}}return ;
}
int main(){cin>>n>>m;for(int i=1;i<=n;i++){cin>>a[i];}dfs(1);cout<<diff;return 0;
}

在网上借鉴了几位大佬的解法以及解释才看懂的

在这上面记录一下

试题 算法训练 粘木棍 c++相关推荐

  1. 试题 算法训练 粘木棍

    试题 算法训练 粘木棍 问题描述 有N根木棍,需要将其粘贴成M个长木棍,使得最长的和最短的的差距最小. 输入格式 第一行两个整数N,M. 一行N个整数,表示木棍的长度. 输出格式 一行一个整数,表示最 ...

  2. 试题 算法训练 小木棍

    试题 算法训练 小木棍 资源限制 内存限制:256.0MB C/C++时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s 问题描述 RJ有一些同样长的小木棍,他把这些木棍随 ...

  3. 蓝桥杯 算法训练 粘木棍

    问题描述 有N根木棍,需要将其粘贴成M个长木棍,使得最长的和最短的的差距最小. 输入格式 第一行两个整数N,M. 一行N个整数,表示木棍的长度. 输出格式 一行一个整数,表示最小的差距 样例输入 3 ...

  4. 蓝桥杯算法训练—粘木棍

    资源限制 内存限制:256.0MB C/C++时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s 问题描述 有N根木棍,需要将其粘贴成M个长木棍,使得最长的和最短的的差距最 ...

  5. 蓝桥杯 试题 算法训练 无聊的逗 C++ 详解

    题目: 逗志芃在干了很多事情后终于闲下来了,然后就陷入了深深的无聊中.不过他想到了一个游戏来使他更无聊.他拿出n个木棍,然后选出其中一些粘成一根长的,然后再选一些粘成另一个长的,他想知道在两根一样长的 ...

  6. 蓝桥杯 试题 算法训练 无聊的逗 C++ 详解 - 未完善

    题目: 逗志芃在干了很多事情后终于闲下来了,然后就陷入了深深的无聊中.不过他想到了一个游戏来使他更无聊.他拿出n个木棍,然后选出其中一些粘成一根长的,然后再选一些粘成另一个长的,他想知道在两根一样长的 ...

  7. 蓝桥杯 试题 算法训练 无聊的逗

    蓝桥杯 试题 算法训练 无聊的逗 问题描述 逗志芃在干了很多事情后终于闲下来了,然后就陷入了深深的无聊中.不过他想到了一个游戏来使他更无聊.他拿出n个木棍,然后选出其中一些粘成一根长的,然后再选一些粘 ...

  8. 蓝桥杯试题 算法训练 Have You Ever Heard About the Word?

    试题 算法训练 Have You Ever Heard About the Word? 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 一个字符串的子串是该字符串的一段连续子序列,如 ...

  9. C++试题 算法训练 相邻数对、画图

    试题 算法训练 相邻数对 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 给定n个不同的整数,问这些数中有多少对整数,它们的值正好相差1. 输入格式 输入的第一行包含一个整数n,表示 ...

最新文章

  1. 《App架构师实践指南》:移动开发的进阶指南
  2. 云原生语境下,如何重新解读微服务?
  3. C语言数据结构与算法
  4. MySQLWorkbench链接MySQL数据库
  5. 小爱音箱怎么装app_79元的Redmi小爱音箱怎么样?这里有一份体验报告
  6. 【做题记录】[NOIP2016 普及组] 魔法阵
  7. 使用Boxfuse为您的REST API设置https
  8. Flat Tech html5 前端响应式模板
  9. 【开源】多多客发布 3.0.0-alpha.6,Koa+Vue+Taro最佳实践
  10. 【经验】JavaScript
  11. uipath数据爬取(结构化数据)
  12. 基于ubuntu20.4安装谷歌拼音中文输入法
  13. CISCO技术(1.7万)
  14. 大数据、数据分析和数据挖掘的区别是什么
  15. 1 0.99999的悖论_物理学四大神兽:你能追上乌龟吗?无穷大到底是多大?(1)...
  16. 一些大牛的博客推荐,排名不分先后
  17. 查看linux下oracle安装位置
  18. HTML5 学习总结(四)——canvas绘图、WebGL、SVG
  19. 三元前驱体废水除镍钴锰
  20. springboot整合ueditor上传图片配置(JSP)从新建项目开始

热门文章

  1. linux一键网盘脚本,Linux实用一键脚本,含BBR、rclone/fclone/6pan-cli/aria2cli/youtube-dl、aria2、网盘挂载等等...
  2. Win系统 - 手动设置开机启动项
  3. 如何使用红杏的公益代理
  4. 谷歌Android手机遭受恶意软件侵犯
  5. PMSM无感foc控制(滑模-反正切-PLL)【仿真模型搭建教程】(附模型)
  6. python翻译器怎么用_python实现简易翻译器
  7. 用Python分析公开数据选出高送转预期股票
  8. 卓越讲坛:编辑视角:如何写作学术论文
  9. GitHub 入门 : https://help.github.com/
  10. 2023北京护眼产品展/北京视力防控展/北京近视矫正展览会