PTA—输出全排列 (20分)

递归回溯思想

题目要求:
请编写程序输出前n个正整数的全排列(n<10),并通过9个测试用例(即n从1到9)观察n逐步增大时程序的运行时间。
输入格式:
输入给出正整数n(<10)。

输出格式:
输出1到n的全排列。每种排列占一行,数字间无空格。排列的输出顺序为字典序,即序列a1,a​2,⋯,a​n排在序列b1​​ ,b2,⋯,bn之前,如果存在k使得a​1=b​1,⋯,a​k=b​k并且 a​k+1<b​k+1。
输入样例:

3

输出样例:

123
132
213
231
312
321

代码

#include<stdio.h>
int a[11];
int n;
int visit[11];  //记录是否“访问”
void Find(int step)
{if(step==n+1)       //如果找够了,就打印 {for(int i=1;i<=n;i++)printf("%d",a[i]);printf("\n");}else{for(int i=1;i<=n;i++){if(!visit[i])//未访问{a[step]=i;  //保存visit[i]=1;  //标记Find(step+1);  //递归寻找下一个 visit[i]=0;      //回溯(模拟未访问) } }}
}
int main()
{scanf("%d",&n);Find(1); //从第一个开始return 0;
}

PTA—输出全排列 (20分) 递归回溯思想相关推荐

  1. 7-177 输出全排列 (20 分)

    7-177 输出全排列 (20 分) 请编写程序输出前n个正整数的全排列(n<10),并通过9个测试用例(即n从1到9)观察n逐步增大时程序的运行时间. 输入格式: 输入给出正整数n(<1 ...

  2. 7-1 输出全排列 (20 分)(全排列+递归+图解)Come Baby

    一:题目 请编写程序输出前n个正整数的全排列(n<10),并通过9个测试用例(即n从1到9)观察n逐步增大时程序的运行时间. 输入格式: 输入给出正整数n(<10). 输出格式: 输出1到 ...

  3. C++学习之路 | PTA乙级—— 1043 输出PATest (20 分)(精简)

    1043 输出PATest (20 分) 给定一个长度不超过 10 ​4 ​​ 的.仅由英文字母构成的字符串.请将字符重新调整顺序,按 PATestPATest- 这样的顺序输出,并忽略其它字符.当然 ...

  4. C语言程序练习-L1-023 输出GPLT (20分)

    L1-023 输出GPLT (20分) 给定一个长度不超过10000的.仅由英文字母构成的字符串.请将字符重新调整顺序,按GPLTGPLT-这样的顺序输出,并忽略其它字符.当然,四种字符(不区分大小写 ...

  5. Leetcode-二分+递归/回溯-1723. 完成所有工作的最短时间

    题目1723. 完成所有工作的最短时间: 题解: 递归回溯模板超时 按照模板+简单剪枝,超时 class Solution { private:vector<int> sum;int mi ...

  6. PTA 古风排版 (20 分)队列方法

    古风排版 (20 分) 中国的古人写文字,是从右向左竖向排版的.本题就请你编写程序,把一段文字按古风排版. 输入格式: 输入在第一行给出一个正整数N(<100),是每一列的字符数.第二行给出一个 ...

  7. PTA 整除光棍 (20 分) Java (BigInteger简单解题)

    L1-046 整除光棍 (20 分) 这里所谓的"光棍",并不是指单身汪啦~ 说的是全部由1组成的数字,比如1.11.111.1111等.传说任何一个光棍都能被一个不以5结尾的奇数 ...

  8. PTA 试密码 (20分)

    "人其实就这一辈子,我想要的生活不是安逸的,虽然很累,但我想要辉煌的人生,所以也一直在为此努力.不松懈.我所理解的辉煌人生,不是挣了多少钱.做了多伟大的事,而是将人生过得有意义,不碌碌无为. ...

  9. PAT (Basic Level) Practice (中文)1043 输出PATest (20 分)

    给定一个长度不超过 1 的.仅由英文字母构成的字符串.请将字符重新调整顺序,按 PATestPATest.... 这样的顺序输出,并忽略其它字符.当然,六种字符的个数不一定是一样多的,若某种字符已经输 ...

最新文章

  1. Unity-3d Day03
  2. 文件,文件夹基本操作
  3. 今天下午接到阔总编的电话
  4. Python中的高级数据结构
  5. apache cxf_Wildfly,Apache CXF和@SchemaValidation
  6. eclipse同步svn时如何过滤target等文件
  7. python入门指南 许半仙-《猛一相亲指南》TXT全本 百度云网盘下载 by许半仙
  8. sql limit 子句_SQL有子句–综合指南
  9. AHOI2018训练日程(3.10~4.12)
  10. jekins构建通知邮件配置及邮件附件设置,jenkins构建通知邮件没有RF的log和report文件...
  11. Java工程师的职业规划
  12. Java常用开发工具推荐
  13. clouder manager卸载
  14. 检测Emai地址是否正确
  15. Zabbix5.0监控CenterOS(RPM版)
  16. R语言基础数据操作fBasics
  17. java图形化界面操作和命令行操作,常用的命令行指令
  18. 罗马数字 java_java将罗马数字转换成整数算法详解-Fun言
  19. 服务器芯片组 c242评测,完胜690!最详尽的C68G芯片组性能评测
  20. 天猫京东双十一活动助手V1.9.7

热门文章

  1. 批量插入数据库语句java_java相关:MyBatis批量插入数据到Oracle数据库中的两种方式(实例代码)...
  2. 备份与恢复oracle,oracle 备份与恢复
  3. php优先队列,PHP 数据结构队列(SplQueue)和优先队列(SplPriorityQueue)简单使用实例
  4. 场景法:基本流、备选流、构造场景
  5. python统计元素个数_python怎么统计列表中元素的个数
  6. Android--Fragment 实现懒加载和不重复加载
  7. [基础|理论|实验]linux下的文件读写
  8. Exchange 2010安装前的准备工作
  9. 【转】“无法在Web服务器上启动调试。您不具备调试此应用程序的权限,此项目的URL位于Internet区域”错误提示的解决...
  10. Mono 把 .NET 应用程序移植到 Linux