洛谷P1157 组合的输出
洛谷1157 组合的输出
题目描述
排列与组合是常用的数学方法,其中组合就是从n个元素中抽出r个元素(不分顺序且r<=n),我们可以简单地将n个元素理解为自然数1,2,…,n,从中任取r个数。
现要求你不用递归的方法输出所有组合。
例如n=5,r=3,所有组合为:
l 2
3 l 2 4 1 2
5 l 3 4 l 3
5 1 4 5 2 3
4 2 3 5 2 4
5 3 4 5
输入输出格式
输入格式:
一行两个自然数n、r(1<n<21,1<=r<=n)。
输出格式:
所有的组合,每一个组合占一行且其中的元素按由小到大的顺序排列,每个元素占三个字符的位置,所有的组合也按字典顺序。
**注意哦!输出时,每个数字需要3个场宽,pascal可以这样:
write(ans:3);
输入输出样例
输入样例#1:
5 3
输出样例#1:
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
【思路】
Dfs
唯一需要注意的就是c++的域宽控制。
【代码】
#include<iostream>
#include<cstdio>
using namespace std; const int maxn = ; int A[maxn];
int n,r; void dfs(int d,int nowi) {
if(d==r) {
for(int i=;i<r;i++)
printf("%3d",A[i]);
printf("\n");
}
if(r-d>n-nowi+) return ;
for(int i=nowi;i<=n;i++) {
A[d]=i;
dfs(d+,i+);
}
} int main() {
scanf("%d%d",&n,&r);
dfs(,);
return ;
}
洛谷P1157 组合的输出的更多相关文章
- 洛谷 P1157 组合的输出
P1157 组合的输出 题目描述 排列与组合是常用的数学方法,其中组合就是从n个元素中抽出r个元素(不分顺序且r<=n),我们可以简单地将n个元素理解为自然数1,2,…,n,从中任取r个数. 现 ...
- 【递归】P1157组合的输出
题目相关 题目描述 排列与组合是常用的数学方法,其中组合就是从n个元素中抽出r个元素(不分顺序且 r ≤n),我们可以简单地将n个元素理解为自然数1,2,-,n从中任取r个数. 现要求你输出所有组合. ...
- P1157 组合的输出
P1157 组合的输出 #include <bits/stdc++.h> using namespace std; int n,r; int a[25]; vector<int> ...
- 【洛谷】P1067 多项式输出
原题链接:P1067 多项式输出 题目分析:学长推荐的OJ网站 --洛谷,发现挺好用的还可以下载提交出错的数据. 废话就不多说了,这道题属于基础题.提交出错主要是因为一些小细节不到位,这里就不一一赘述 ...
- 洛谷P1157----组合数的输出
#include<stdio.h> ] = { ,,,,,,,,,,,,,,,,,,, }; ]; int n, r; ; void dfs(int x) {//x表示当前是第几个数 in ...
- 【题解】洛谷P3166 [CQOI2014] 数三角形(组合+枚举)
洛谷P3166:https://www.luogu.org/problemnew/show/P3166 思路 用组合数求出所有的3个点组合(包含不合法的) 把横竖的3个点共线的去掉 把斜的3个点共线的 ...
- 【题解】洛谷P1066 [NOIP2006TG] 2^k进制数(复杂高精+组合推导)
洛谷P1066:https://www.luogu.org/problemnew/show/P1066 思路 挺难的一道题 也很复杂 满足题目要求的种数是两类组合数之和 r的最多位数m为 w/k(当w ...
- 洛谷P1067 多项式输出 NOIP 2009 普及组 第一题
洛谷P1067 多项式输出 NOIP 2009 普及组 第一题 题目描述 一元n次多项式可用如下的表达式表示: 输入输出格式 输入格式 输入共有 2 行 第一行 1 个整数,n,表示一元多项式的次数. ...
- 【vector的输出问题】 洛谷 P1996 约瑟夫问题
题目:P1996 约瑟夫问题 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 可恶啊,本来是一道不算难的题,硬是因为cin,cout同步流卡了我一天qwq 关闭cin,cout同步流 ...
随机推荐
- IntelliJ IDEA 14.x 创建工作空间与多个Java Web项目
以往的Eclipse.NetBeans等开发工具不同,IDEA的Project相当与Eclipse的Workspace,而Module相当于Project. 下边就给出Eclipse与IDEA的概念的 ...
- python编程语言 函数的形参
python编程语言 函数的形参的讲解: 我在交互模式中写了个函数: def adder(**args): sum=0 for x in args.keys(): sum+=args[x] retur ...
- 《编写高质量代码:改善Python程序的91个建议》读后感
编写高质量代码:改善Python程序的91个建议 http://book.douban.com/subject/25910544/ 1.(建议16)is 用于判断两个对象的id是否相等,==才是判断 ...
- oracle计算年龄
入院年龄按入院时间和出生日期进行计算 select * from pat_visit_v v ) ; 来自为知笔记(Wiz)
- uCGUI窗口初始化过程
一.相关结构体和变量 重要的uCGUI系统全局变量 NextDrawWin 下一个需要重绘的窗口句柄 WM__NumWindows 系统当前的总共 ...
- 【mapping】 springmvc的注解mapping无法生效的问题
springmvc 始终无法加载 注解 map, 解决办法 八月 11, 2015 8:24:42 下午 org.springframework.web.servlet.DispatcherServl ...
- PHP完整环境搭建
Linux(CentOS 7)+ Nginx(1.10.2)+ Mysql(5.7.16)+ PHP(7.0.12) 首先安装Linux系统,我以虚拟机安装来做示例,先去下载 VitualBox,这是 ...
- CF192div2-330B - Road Construction
题意:给定n个城市并建造马路是的两两到达,且距离不能超过2 因为0<=m<n/2,所以必然存在某个城市是无限制的,那就可以以这个无限制的城市为中心建造.... 只要想通了真尼玛简单.... ...
- linux zip 命令详解
功能说明:压缩文件. 语 法:zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b <工作目录>][-ll][-n <字尾字符串>][-t <日期时 ...
- Tomcat 系统架构与设计模式,第 1 部分: 工作原理
简介: 这个分为两个部分的系列文章将研究 Apache Tomcat 的系统架构以及其运用的很多经典设计模式.本文是第 1 部分,将主要从 Tomcat 如何分发请求.如何处理多用户同时请求,还有它的 ...