题目描述

排列与组合是常用的数学方法,其中组合就是从nn个元素中抽出rr个元素(不分顺序且r \le n)r≤n),我们可以简单地将nn个元素理解为自然数1,2,…,n1,2,…,n,从中任取rr个数。

现要求你不用递归的方法输出所有组合。

例如n=5,r=3n=5,r=3,所有组合为:

12 3 , 1 2 4 , 1 2 5 , 1 3 4 ,1 3 5 , 1 4 5 , 2 3 4 , 2 3 5 , 2 4 5 , 3 4 5123,124,125,134,135,145,234,235,245,345

输入格式

一行两个自然数n,r(1<n<21,1 \le r \le n)n,r(1<n<21,1≤r≤n)。

输出格式

所有的组合,每一个组合占一行且其中的元素按由小到大的顺序排列,每个元素占三个字符的位置,所有的组合也按字典顺序。

**注意哦!输出时,每个数字需要33个场宽,pascal可以这样:

write(ans:3);

输入输出样例

输入 #1复制

5 3

输出 #1复制

  1  2  31  2  41  2  51  3  41  3  51  4  52  3  42  3  52  4  53  4  5
#include<bits/stdc++.h>
#define mian main
using namespace std;
int a[21],n,r;
void dfs(int k)
{if(k>r){for(int i=1;i<=r;i++){cout<<setw(3)<<a[i];}cout<<endl;return;}for(int i=a[k-1]+1;i<=n;i++){a[k]=i;dfs(k+1);}
}
int mian()
{cin>>n>>r;dfs(1);
}

P1157 组合的输出(#define mian main)相关推荐

  1. java:P1157 组合的输出

    洛谷题目:P1157 组合的输出 题目如下: 我的代码: import java.io.*; /* 思路:dfs思想,其中改进下即可,这样就能够得到不重复的组合. 递归代码提醒:t代表当前函数找第几个 ...

  2. 洛谷[P1157 组合的输出] {暴力枚举} 奋斗的珂珂~

    洛谷[P1157 组合的输出] {暴力枚举} 题目描述 排列与组合是常用的数学方法,其中组合就是从nn个元素中抽出rr个元素(不分顺序且r≤n),我们可以简单地将nn个元素理解为自然数1,2,-,n, ...

  3. 洛谷P1157组合的输出

    原题链接 题目思路,因为数组范围n<=20,故可用dfs,dfs内传入两个参数,一个是当前元素个数,一个是start.有不懂的可以评论区随时问我,有问必答. #include<iostre ...

  4. P1157 组合的输出

    题目描述 排列与组合是常用的数学方法,其中组合就是从n个元素中抽出rr个元素(不分顺序且r≤n),我们可以简单地将n个元素理解为自然数1,2,-,n,从中任取r个数. 现要求你输出所有组合. 例如n= ...

  5. java P1157 组合的输出

    题目描述 排列与组合是常用的数学方法,其中组合就是从n个元素中抽出rr个元素(不分顺序且r≤n),我们可以简单地将n个元素理解为自然数1,2,-,n,从中任取rr个数. 现要求你输出所有组合. 例如n ...

  6. 洛谷-P1157 组合的输出

    题目描述 排列与组合是常用的数学方法,其中组合就是从nn个元素中抽出rr个元素(不分顺序且r \le n)r≤n),我们可以简单地将nn个元素理解为自然数1,2,-,n1,2,-,n,从中任取rr个数 ...

  7. 洛谷P1157 组合的输出

    题目描述 排列与组合是常用的数学方法,其中组合就是从nn个元素中抽出rr个元素(不分顺序且r \le n)r≤n),我们可以简单地将nn个元素理解为自然数1,2,-,n1,2,-,n,从中任取rr个数 ...

  8. 洛谷 P1157 组合的输出 Python题解

    n, r = map(int, input().split())def dfs(s, c):global n, rif len(s) == r:for i in s:print("{:> ...

  9. 信息学奥赛一本通(1317:【例5.2】组合的输出)

    1317:[例5.2]组合的输出 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 21154     通过数: 10292 [题目描述] 排列与组合是常用的数学方法 ...

  10. 1006: 组合的输出(dfs的一种用法)(与排列类似)

    题目:1006: 组合的输出 Description 排列与组合是常用的数学方法,其中组合就是从n个元素中抽出r个元素(不分顺序且r<=n),我们可以简单地将n个元素理解为自然数1,2,-,n, ...

最新文章

  1. 前端性能优化之gzip
  2. Javascript在客户端导出multi-sheet excel
  3. cglib源码分析--转
  4. STM32F4 HAL库开发 -- STM32CubeMX
  5. 转]一个计算机专业学生几年的Java编程经验汇总
  6. 初步认识Volatile-什么叫缓存一致性呢?
  7. 直男的浪漫有多可怕?
  8. 计划B? 那是计划N…没什么。 拼图于2015年问世
  9. Quick cocos2dx学习笔记
  10. Intel Edison学习笔记(一)—— 刷系统
  11. TreeMap按照key排序
  12. 10.卷2(进程间通信)---Posix信号量
  13. 电脑上计算机无法搜索文件,怎么搜索电脑中的文件?电脑搜索文件教程
  14. c语言中char是什么,c语言中char什么意思-与非网
  15. 母亲节为什么要定在5月的第二个星期日? [节假日]
  16. 资产证券化为什么需要区块链技术?专访趣链科技揭开“区块链+ABS”迷雾
  17. JSP页面图片显示不了
  18. WIN10笔记本电脑右键桌面一直转圈 [解决]
  19. ps命令 查看系统进程信息
  20. 微信公众平台开发尝试

热门文章

  1. 2012年中国县级市面积排行(截止到2012年7月31日) (zz.IS2120@BG57IV3)
  2. 民科微服务小程序怎么注册_民科微服务小程序app个人端认证下载-民科微服务小程序登录官方入口下载v2.4最新版_289手游网...
  3. matlab画五线谱,‎App Store 上的“五线谱”
  4. 通过自定义注解+反射的形式,使用POI实现excel的导入导出
  5. CSS+DIV 网页重构技术
  6. 中文域名正确注册、配置、使用
  7. Meta元宇宙副总裁离职了...『Go语言圣经』终于汉化啦;德云社失业警告!AI要说相声了;一键就能AI绘图的网站;前沿论文 | ShowMeAI资讯日报
  8. Android CameraX 使用入门
  9. 从零开始学习3D可视化之爆炸图
  10. (转)Builder模式的误区:将复杂对象的构建进行封装,就是Builder模式了吗?