洛谷[P1157 组合的输出] {暴力枚举} 奋斗的珂珂~_现要求你输出所有组合。例如n = 5,r = 3,所有组合为:123,124,125,134,135-程序员宅基地

技术标签: 算法  

洛谷[P1157 组合的输出] {暴力枚举}

题目描述

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

现要求你输出所有组合。

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

123,124,125,134,135,145,234,235,245,345

输入格式

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

输出格式

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

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

write(ans:3);

输入输出样例

输入
5 3
输出
1 2 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 5

解释

使用next_permutation()全排列的情况是:

0 0 0 1 1
0 0 1 0 1
0 0 1 1 0
0 1 0 0 1
0 1 0 1 0
0 1 1 0 0
1 0 0 0 1
1 0 0 1 0
1 0 1 0 0
1 1 0 0 0

完整代码

#include<bits/stdc++.h>
using namespace std;
int a[30];


int main()
{
    
	int m,n;
	scanf("%d %d",&m,&n);
	for(int i=n+1;i<=m;i++)
	{
    
		a[i]=1;//取得几位让几位为0,因为从小到大,所以让前几位先为0 
	}
	do{
    
		for(int i=1;i<=m;i++)
		{
    //每个元素占用3个字符的位置 
		    if(a[i]==0) printf("%3d",i);	//因为stl不会出现排序一样的排列方式,放心取,而且保证从小到大 
		}
		cout<<endl;	
	}while(next_permutation(a+1,a+m+1));
	return 0; 
}
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/cmk_chy/article/details/107120867

智能推荐

Feature Scaling 的意义_feature scaling作用-程序员宅基地

文章浏览阅读520次。之前一直不知道feature scaling加速收敛的原因在哪?最近看李宏毅老师的视频,在大概明白了一些,以下就是介绍feature scaling的意义:可以看到,当X1和X2的尺度不同,那么他们对最终损失造成的影响也是不相同的,如左图所示,你可以想象成一个三维的地形,或者一个崎岖的山路,而右图由于输入尺度相同,当然也是个三维的地形,但层次分明。当你想到达最低点时,左图需要根据梯度下降指引下降的方向,可能到达不同点,他所指引的方向并不指向最低点;而相反,右图中,他的梯度下降由于周围地形很相近,所以一直_feature scaling作用

c语言数据结构推箱子实验报告,推箱子的最短路径-数据结构与C语言综合训练报告.doc...-程序员宅基地

文章浏览阅读699次。推箱子的最短路径-数据结构与C语言综合训练报告信息工程学院数据结构与C语言综合训练报告(2012~2013学年第 二学期)报告题目:____推箱子的最短路径_ __姓 名:_ __ ____专 业: 软件工程年级班级:___2012级2班___指导教师:完成日期: 2013年7月21号一、综合训练目的和要求本综合训练是计算机科学与技术、信息管理与信息系统、软件工程、电子商务..._c语言推箱子实验报告

戏耍idea,信手拈来_屏蔽.iml .idea等不需要的文件类型-程序员宅基地

文章浏览阅读131次。1.戏耍idea切换主题:设置背景:导入导出配置(file->manage IDE Settings)折行显示文件路径与按钮(view->appearance)_屏蔽.iml .idea等不需要的文件类型

对Linux CAN驱动的理解(1)-程序员宅基地

文章浏览阅读3.3k次。在Ti的AM335X系列Cortext-A8芯片中,CAN模块采用D_CAN结构,实质即两路CAN接口。在此分享一下对基于AM335X的Linux CAN驱动源码的理解。下面来分析它的驱动源码及其工作方式。在Linux内核源码中,CAN设备驱动文件如下:drivers/net/can/d_can/d_can_platform.cdrivers/net

如何在P4中管理Unreal Engine 代码-程序员宅基地

文章浏览阅读2.1k次。准备引擎开发环境下载代码Unreal Engine代码库在Github上,要下载Github上的源代码,需要具有Github账号和虚幻引擎的订阅账号,并且将二者相关联。步骤如下。登陆www.github.com使用虚幻引擎订阅账号登陆unrealengine.com点击CONNECTIONS菜单-> ACCOUNTS->GITHUB一路按照提示操作,最终会收到一个Github的通知邮件,邀请参加EpicGames Organization。点击链接,就可以看到源

SpringBoot基于数据库的定时任务实现_spring定时任务本地日志只有一条插入语句,但是数据库有多条-程序员宅基地

文章浏览阅读410次。在我们平时开发的项目中,定时任务基本属于必不可少的功能,那大家都是怎么做的呢?但我知道的大多都是静态定时任务实现。基于注解来创建定时任务非常简单,只需几行代码便可完成。实现如下:[Java]纯文本查看复制代码? 01 02 03 04 05 06 07 08 09 10 11 ..._spring定时任务本地日志只有一条插入语句,但是数据库有多条

随便推点

docker拉取使用java环境_docker中拉取java8的镜像-程序员宅基地

文章浏览阅读7.4k次,点赞2次,收藏9次。本文记录docker拉取使用java环境的相关过程。拉取java镜像1,互联网环境下搜索javadocker search java2,下载java1.8镜像docker pull docker.io/lwieske/java-83,查看拉取的镜像docker images4,保存镜像成tar归档文件,可用于复制到无法联网的服务器等(没有需求可以忽略该步骤)#docker save 镜像的名称 -o 保存成tar文件的路径名 docker save do_docker中拉取java8的镜像

itext7 html转pdf实现-程序员宅基地

文章浏览阅读1.3k次。公司最近做一个交易所项目,里面涉及一个需求就是将html模板,在填充数据后转换为pdf,这样防止数据更改,下面是具体实现1 pom文件     <dependency> <groupId>com.itextpdf</groupId> <artifactId>html2pdf</ar..._endposition 和 lineseparator

生信分析--入门实践一条龙的CWL中文教程_生信分析入门教程csdn-程序员宅基地

文章浏览阅读2.3k次。生信分析--入门实践一条龙的CWL中文教程。关于下载安装所有中文教程,开始学习吧_生信分析入门教程csdn

JavaScript的学习4——面向对象编程_编写一个函数来创建xiaoming:-程序员宅基地

文章浏览阅读177次。前言JavaScript不区分类和实例的概念,而是通过原型(prototype)来实现面向对象编程。Object.create()方法可以传入一个原型对象,并创建一个基于该原型的新对象,但是新对象什么属性都没有,因此,我们可以编写一个函数来创建xiaoming:// 原型对象:var Student = { name: 'Robot', height: 1.2, run: function () { console.log(this.name + ' is r_编写一个函数来创建xiaoming:

前端:webpack-程序员宅基地

文章浏览阅读39次。前端相关基础知识webpackwebpack1.1 什么是webpack1.2 webpack安装安装webpackvue脚手架webpack1.1 什么是webpackwebpack 是一个现代 JavaScript 应用程序的模块打包器(module bundler),分析你的项目结构,找到JavaScript模块以及其它的一些浏览器不能直接运行的拓展语言(Sass,TypeScript等),并将其转换和打包为合适的格式供浏览器使用。1.2 webpack安装注意:请先安装node环境we

Kryo序列化实现源码分析_python kryo 实现-程序员宅基地

文章浏览阅读1.1k次,点赞2次,收藏2次。在使用Kryo序列化之前需要将被序列化的类通过register()方法注册到其中去。在register的过程中,实则是要根据要序列化的类生成对应的Registration,Registration中记录了类的唯一id与对应的序列化类,在Kryo中,默认的序列化对象是FieldSerializer,没有特别指明的,都将以FieldSerializer来进行序列化。public Regist..._python kryo 实现

推荐文章

热门文章

相关标签