1317:【例5.2】组合的输出 深搜题解

技术1317:【例5.2】组合的输出 深搜题解 1317:【例5.2】组合的输出 深搜题解1317:【例5.2】组合的输出
时间限制: 1000 ms 内存限制: 65536 KB提交数: 2425

1317:[例5.2]深入搜索组合的输出,寻找问题解决方案。

1317:【例5.2】组合的输出

时间限制: 1000毫秒内存限制: 65536 KB。

提交编号: 24255通过编号: 11944。

【题目描述】

排列组合是常用的数学方法,其中组合是从n个元素中提取r个元素(无序且rn)。我们可以简单地把n个元素理解为自然数1,2,…,n,并从中取任意数量的r。

现在你需要递归地输出所有的组合。

例如,n=5,r=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

#includebits/stdc。h

使用命名空间标准;

const int N=25

int n,r;

int路径[N];//保存路径。

布尔街;//保存是否选择了该号码。

void DFS(int x){ 0

If(x==r 1)//路径结束。

{

for(int I=1;I=r;I )//输出你的路径。

coutsetw(3)路径[I];

coutendl

返回;

}

for(int I=1;I=n;I )//找出路径中存在的正确数字。

{

if(ipath[x-1]!St[i])//大于前一个数字,尚未被选中。

{

路径[x]=I;

ST[I]=1;

外勤部(x1);//递归实现DFS。

ST[I]=0;//实现后,当前位未被选中,因此被清零。

}

}

}

int main()

{

cinnr

外勤部(1);

返回0;

}

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/62064.html

(0)

相关推荐

  • 编辑html文件一般用哪些软件

    技术编辑html文件一般用哪些软件这篇文章主要为大家展示了“编辑html文件一般用哪些软件”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“编辑html文件一般用哪些软件”这篇文

    攻略 2021年11月18日
  • mysql中如何将日期转为时间戳

    技术mysql中如何将日期转为时间戳本篇内容主要讲解“mysql中如何将日期转为时间戳”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mysql中如何将日期转为时间戳”吧!

    攻略 2021年12月2日
  • [题解] bzoj3894 文理分科

    技术[题解] bzoj3894 文理分科 [题解] bzoj3894 文理分科题目链接
    题目描述
    \(n\) 行 \(m\) 列的矩阵,每个人可以选文科或者理科。第 \(i,j\) 个人选文科贡献为 \

    礼包 2021年12月10日
  • 也是英文,以后也是用英语怎么说英语渣渣

    技术也是英文,以后也是用英语怎么说英语渣渣以后也是 翻译成英文也是英文,有以下几种表达方式: 1、Later will also be! 双语例句: In this sense, not only the Xinjian

    生活 2021年10月25日
  • go并发中select的示例分析

    技术go并发中select的示例分析这篇文章给大家分享的是有关go并发中select的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、前言介绍:对于Go语言并发通讯,是使用的协程go

    攻略 2021年11月17日
  • PostgreSQL中vacuum过程分析

    技术PostgreSQL中vacuum过程分析本篇内容主要讲解“PostgreSQL中vacuum过程分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PostgreSQL中

    攻略 2021年11月9日