有K种颜色的小球(K<=10),每种小球有若干个,总数小于100个。
现在有一个小盒子,能放N个小球(N<=8),现在要从这些小球里挑出N个小球,放满盒子。
想知道有哪些挑选方式。注:每种颜色的小球之间没有差别。

请按数字递增顺序输出挑选小球的所有方式。

如有3种颜色,每种颜色小球的个数分别为a:1,b:2,c:3,挑出3个小球的挑法有:
003,012,021,102,111,120

输入描述:
第一行两个数字K N,分别表示小球种类数目和挑选的小球个数
第二行开始为每种小球的数目,共K行数据

输出描述:
输出所有可行的挑选方案,按升序排列

输入例子1:
3 3
1
2
3

输出例子1:
003
012
021
102
111
120

深搜操作,求所有和为定值的情况。只是每个和数有一定的限制。只能去0-球的个数,
注意适当剪枝;

while True:try:K, N = list(map(int, input().split()))ball_count = []for i in range(K):ball_count.append(int(input()))result = []def DFS(cur_sum, K, index, ball_count, path, result):if cur_sum == K:path = path + [0] * (len(ball_count) - index)result.append(path)returnif cur_sum > K or index >= len(ball_count):returnfor i in range(ball_count[index] + 1):DFS(cur_sum + i, K, index + 1, ball_count, path[:] + [i], result)DFS(0, N, 0, ball_count, [], result)for i in range(len(result)):result[i] = list(map(str, result[i]))print("".join(result[i]))except:break

SXF2019集合遍历相关推荐

  1. Map集合遍历的四种方式理解和简单使用

    Map集合遍历的四种方式理解和简单使用 ~Map集合是键值对形式存储值的,所以遍历Map集合无非就是获取键和值,根据实际需求,进行获取键和值 1:无非就是通过map.keySet()获取到值,然后根据 ...

  2. 【Groovy】map 集合 ( map 集合遍历 | 使用 map 集合的 each 方法遍历 map 集合 | 代码示例 )

    文章目录 一.使用 map 集合的 each 方法遍历 map 集合 二.代码示例 一.使用 map 集合的 each 方法遍历 map 集合 遍历 map 集合 , 可以调用 map 集合的 eac ...

  3. 【Groovy】集合遍历 ( 集合中有集合元素时调用 flatten 函数拉平集合元素 | 代码示例 )

    文章目录 一.集合中有集合元素时调用 flatten 函数拉平集合元素 二.完整代码示例 一.集合中有集合元素时调用 flatten 函数拉平集合元素 在上一篇博客 [Groovy]集合遍历 ( 操作 ...

  4. 【Groovy】集合遍历 ( 使用集合的 findAll 方法查找集合中符合匹配条件的所有元素 | 代码示例 )

    文章目录 一.使用集合的 findAll 方法查找集合中符合匹配条件的所有元素 1.闭包中使用 == 作为 findAll 方法的查找匹配条件 2.闭包中使用 is 作为 findAll 方法的查找匹 ...

  5. 【Flutter】Dart 数据类型 Map 类型 ( 创建 Map 集合 | 初始化 Map 集合 | 遍历 Map 集合 )

    文章目录 一. Dart 数据类型 Map 类型 二. Map 类型初始化并赋值 1. 创建 Map 对象同时进行初始化操作 2. 先创建 Map 对象再进行赋值 三. Map 集合遍历 1. 使用 ...

  6. 集合遍历[设计模式总结] 9. 迭代器模式

    工作之余抽点时间出来写写博文,希望对新接触的朋友有帮助.今天在这里和大家起一学习一下集合遍历 引子 例如Waitress类要遍历打印两种菜单,一种是基于ArrayList,一种是基于数组: 则Wait ...

  7. 集合框架(一) ----------Map集合遍历的方法

    import java.util.*; /** * Map集合遍历的方法 * @author Administrator * */ public class Test2 { public static ...

  8. 赋值给集合_当面试官问集合遍历的删除方法时,要警惕这里有个异常陷阱

    开发中有时需要在遍历集合的同时又对集合元素进行删除操作,如何正确的删除并了解为什么很有必要. 比如: 这里会触发并发修改异常: 抛出异常原因:modCount和expectedModCount值不相等 ...

  9. java学习--基础知识进阶第七天--HashSet集合、HashMap集合(集合遍历)

    今日内容介绍 u  HashSet集合 u  HashMap集合(集合遍历) 第1章 HashSet集合 1.1 Set接口的特点   Set体系的集合: A:存入集合的顺序和取出集合的顺序不一致 B ...

  10. 42-Map集合遍历键找值方式-键值对对象Entry-键值对方式遍历

    1.遍历方法一:通过键找值的方法: Set<K>  keySet()  :Key就是key    Set是把集合中所有的key取出来存储到Set集合中  返回的是一个Set集合里面是key ...

最新文章

  1. 动态资源和静态资源分离
  2. Linux下的防火墙管理(包含图形和命令、伪装和转发)
  3. 启动两个tomcat,两个端口,两个tomcat都启动时回显示端口被占用
  4. ssas 分区 设置_如何在Analysis Services多维中对SSAS多维数据集进行分区
  5. mysql怎么模拟死锁_mysql 模拟产生死锁
  6. 当前日期增加自然月(比如当前时间为3月31号,加上1个月,预期结果是4月30日,但是输出了5月1日)...
  7. wps 模拟分析 规划求解_综合能源系统:规划及运行优化智慧决策平台介绍
  8. 令人疑惑的defaultValueAttribute
  9. 三节串联锂电池充电管理芯片,IC电路图,BOM表
  10. 不可用来编辑html的文件,Word2016
  11. 毕业设计python数据分析_毕业设计:爬虫及数据分析
  12. 哪些命令可以关闭计算机 poweroff,虚拟机常用命令
  13. 旷世科技面试题-三个均匀分布x>y>z的概率
  14. 数据结构——树和二叉树章节思维导图
  15. php中的m方法的区别吗,php中的M方法
  16. 演讲实录丨朱频频 让Bots无处不在
  17. GB/T 8170-2008 数值修约规则与极限数值的表示和判定
  18. js计算日期差;js计算天数差
  19. 安全生产施工单位材料准备清单
  20. pychar调试报错:Cython extension speeds up Python debugging

热门文章

  1. 22.11.16 IO day 8
  2. 新手阿里云服务器操作指南(图文教程)
  3. Ctrl+Shift+F 输入法变成繁体 输入法简体繁体切换
  4. 分享一个很容易实现的某大学的结构光源码【DIY自己的三维扫描仪】
  5. 解决其他浏览器能上网谷歌浏览器不能上网
  6. 算法题 高斯消元解线性方程组(Python)
  7. matlab干什么,matlab有什么用?
  8. 【Paper reading】可变剪接预测ENCODEC数据集
  9. zoj3869 Ace of Aces zoj3880 Demacia of the Ancients(水)
  10. 小学计算机表格课件,小学信息技术级轻松做表格Word表格制作PPT课件.ppt