搜索与图论(一)dfs---以题为例

news/发布时间2024/5/7 5:33:23

给定一个整数 n,将数字 1n 排成一排,将会有很多种排列方法。

现在,请你按照字典序将所有的排列方法输出。

输入格式

共一行,包含一个整数 n

输出格式

按字典序输出所有排列方案,每个方案占一行。

数据范围

1n7

输入样例:

3

输出样例:

1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
#include<iostream>
using namespace std;const int N =10;
int path[N],n;
bool st[N];
void dfs(int u){if(u==n){for(int i =0;i<n;i++) cout<<path[i]<<" ";puts(" ");}for(int i =1;i<=n;i++)if(!st[i]){path[u]=i;st[i]=true;dfs(u+1);st[i]=false;}
}int main(){cin>>n;dfs(0);return 0;
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ulsteruni.cn/article/15514235.html

如若内容造成侵权/违法违规/事实不符,请联系编程大学网进行投诉反馈email:xxxxxxxx@qq.com,一经查实,立即删除!

相关文章

[转帖]中国开源软件:出口管制对其影响及未来展望

https://www.allbrightlaw.com/CN/10475/d7cf06afe8d07a36.aspx 著名Linux基金会在其出版物中提到,“开源发展的最大优势之一是它实现了跨边界的协作;开源协作透明、公开且能跨越组织边界,促使世界各地的开发人员、学者和工作人员一同成就比个人力量所能造就的更为伟大的开…

并发编程-12.异步单元测试,并发和并行代码

单元测试异步代码 单元测试异步代码需要与编写良好的异步 C# 代码相同的方法。如果您需要复习如何使用异步方法,可以查看第 5 章。 在为异步方法编写单元测试时,您将使用await 关键字等待该方法完成。 这要求您的单元测试方法是异步的并返回任务。 就像其他 C# 代码一样,不允…

并行开发-6.并行编程概念

TPL 入门 TPL 由添加到 .NET Framework 4.0 中的 System.Threading 和 System.Threading.Tasks 命名空间的类型组成。 TPL 提供的功能使 .NET 开发人员的并行性和并发性变得更简单。 无需在代码中管理 ThreadPool 任务。 TPL 处理线程管理并根据处理器能力和可用性自动调整活动…

团队作业2-需求规格说明书

这个作业属于哪个课程 <软件工程2024-双学位>这个作业要求在哪里 <团队作业2——需求说明文档>这个作业的目标 完成需求文档目录团队作业2-需求说明文档需求说明面向用户分析功能性需求预期用户数量系统价值gitcode链接时间安排原安排表校正后安排感想 团队作业2-需…

Python之curd增删改查

有关Python的增删改查函数例子增 append 增加 In [1]: hero = [1,2]In [2]: hero.append(3)In [3]: hero Out[3]: [1, 2, 3]extend 多个增加 In [3]: hero Out[3]: [1, 2, 3]In [4]: hero.extend([4,5,6])In [5]: hero Out[5]: [1, 2, 3, 4, 5, 6]len(s): 通过长度增加 In [6]:…

客快物流大数据项目(六十二):主题及指标开发 common包下定义的一些内容 一般有用 看1

主题及指标开发 一、主题开发业务流程 二、离线模块初始化 1、创建包结构 2、​​​​​​​创建时间处理工具 3、​​​​​​​定义主题宽表及指标结果表的表名 4、​​​​​​​物流字典码表数据类型定义枚举类 5、​​​​​​​封装公共接口 主题及指标开发 一、主题开发…