P1157 组合的输出

news/2024/7/20 21:29:32 标签: 深度优先, c++

题目描述

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

现要求你输出所有组合。

输入格式

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

输出格式

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

输入输出样例

输入 #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
/*
 * @Description: To iterate is human, to recurse divine.
 * @Autor: Recursion
 * @Date: 2022-03-14 12:55:31
 * @LastEditTime: 2022-03-14 19:16:56
 */
#include<bits/stdc++.h>
using namespace std;
int n,r;
int a[(int)1e6+10];
bool b[(int)1e6+10];

void dfs(int x)
{
    if(x==r+1){
        for(int i=1;i<=r;i++)
            cout<<setw(3)<<a[i];
        cout<<endl;
        return;
    }
    for(int i=a[x-1]+1;i<=n;i++){
        a[x]=i;
        dfs(x+1);
    }
}

int main()
{
    cin>>n>>r;
    dfs(1);
}


http://www.niftyadmin.cn/n/764832.html

相关文章

windows7下编译mosquitto

准备工作 mosquitto mosquitto源码下载地址&#xff0c;目前使用的是最新版本2.0.14。 window windows系统为win7 sp1版本&#xff0c;其他版本应该也也可以。 Visual Studio VS版本为2010&#xff0c;其他版本类似。 cmake 用于为mosquitto配成、生成vs下的工程&#…

夺取宝藏

题目描述 Ipomy 现在来到了阿兹特克宝藏堆中。这些宝藏散落放在一个 m * n 的网格上,每个宝藏都有一个价值。Ipomy 自然是希望将所有宝藏统统拿走,但他在走出迷宫时,不小心中了魔咒,一次只能向下或向右移动一步。假设 Ipomy 身处网格的左上角,而古城的出口在右下角,他想…

极简系列|Makefile工程框架(可执行程序、静态库、动态库)

作为一名Linux系统下的开发人员&#xff0c;平时工作中会经常用Makefile来构建应用开发框架。如果是特别简单的应用&#xff0c;几行makefile代码就可以搞定。但对于稍微上点规模的应用&#xff0c;其可能会包含若干个模块&#xff0c;复杂点的还会链接其他的动态库&#xff0c…

智力大冲浪

题目描述 小伟报名参加中央电视台的智力大冲浪节目。本次挑战赛吸引了众多参赛者,主持人为了表彰大家的勇气,先奖励每个参赛者 m 元。先不要太高兴!因为这些钱还不一定都是你的?!接下来主持人宣布了比赛规则:首先,比赛时间分为 n 个时段 (n≤500),它又给出了很多小游戏…

极简系列|日志模块-clog

日志作为应用程序调试和维护的基本手段被广泛使用&#xff0c;像是谷歌的glog&#xff0c;java领域的log4j&#xff0c;它们都是功能强大的大型日志中间件。可是&#xff0c;在特殊的领域&#xff0c;比如是嵌入式开发领域&#xff0c;由于资源的限制&#xff0c;可能不能直接应…

P1248 加工生产调度

题目描述 某工厂收到了 n 个产品的订单&#xff0c;这 n 个产品分别在 A、B 两个车间加工&#xff0c;并且必须先在 A 车间加工后才可以到 B 车间加工。 某个产品 i 在 A、B 两车间加工的时间分别为Ai​,Bi​。怎样安排这 n 个产品的加工顺序&#xff0c;才能使总的加工时间最…

P1821 [USACO07FEB] Cow Party S

题目描述 寒假到了&#xff0c;n 头牛都要去参加一场在编号为 x 的牛的农场举行的派对&#xff0c;农场之间有 m 条有向路&#xff0c;每条路都有一定的长度。 每头牛参加完派对后都必须回家&#xff0c;无论是去参加派对还是回家&#xff0c;每头牛都会选择最短路径&#xf…

ARM平台交叉编译|OpenSSL

编译步骤 准备 编译平台OS:Ubunti16.04交叉编译器Compiler:aarch64-linux-gnu-gccOpenssl:openssl-3.0.1 编译 配置 ./Configure --prefix/dir/to/install --cross-compile-prefixaarch64-linux-gnu- -no-asm sharedprefix:openssl安装目录–cross-compile-prefix:交叉编译…