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)

相关推荐

  • dynamodb入门(dynamodb的使用方法)

    技术如何解决DynamoDB的问题如何解决DynamoDB的问题,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。DynamoDB 是 Amaz

    攻略 2021年12月23日
  • 怎么理解MySQL垂直和水平切分

    技术怎么理解MySQL垂直和水平切分这篇文章主要介绍“怎么理解MySQL垂直和水平切分”,在日常操作中,相信很多人在怎么理解MySQL垂直和水平切分问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家

    攻略 2021年11月19日
  • ADO.NET sql server存储过程怎么调用

    技术ADO.NET sql server存储过程怎么调用这篇文章主要介绍“ADO.NET sql server存储过程怎么调用”,在日常操作中,相信很多人在ADO.NET sql server存储过程怎么调用问题上存在疑

    攻略 2021年12月3日
  • c++32位程序和64位程序的区别有哪些

    技术c++32位程序和64位程序的区别有哪些这篇文章主要讲解了“c++32位程序和64位程序的区别有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“c++32位程序和6

    攻略 2021年11月1日
  • spring boot ignite的使用是怎样的

    技术spring boot ignite的使用是怎样的今天就跟大家聊聊有关spring boot + ignite,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。刚

    攻略 2021年10月20日
  • 如何用Python爬取英雄联盟,lol全部皮肤

    技术如何用Python爬取英雄联盟,lol全部皮肤今天就跟大家聊聊有关如何用Python爬取英雄联盟(lol)全部皮肤,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获

    攻略 2021年10月26日