一:题目

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

输入格式:
输入给出正整数n(<10)。

输出格式:
输出1到n的全排列。每种排列占一行,数字间无空格。排列的输出顺序为字典序,即序列a

输入样例:

3

输出样例:

123
132
213
231
312
321

二:思路

这道题的考查的是全排列,我将代码中的核心递归代码用图示进行展示(这里我省略了当i= 时候的流程,思路相似)

三:上代码

#include<bits/stdc++.h>
using namespace std;int N;
vector<string>v;void swap(int arr[],int i,int j){int temp = arr[i];arr[i] = arr[j];arr[j] = temp;
}string printarr(int arr[]){//将int型 转换成string类型实现int型数字的拼接 stringstream st; for(int i = 0; i < N; i++){st << arr[i] ;}string str = st.str();return str;
}void perm(int A[],int p,int q){if(p == q){string str = printarr(A);v.push_back(str);}else{for(int i = p; i <= q; i++){swap(A,p,i);perm(A,p+1,q);swap(A,p,i);}   }
} int main(){cin >> N;int arr[10];for(int i = 0; i < N; i++){arr[i] = i + 1;}perm(arr,0,N-1);  sort(v.begin(),v.end());for(int i = 0; i < v.size(); i++){cout << v[i] << endl;} }
![在这里插入图片描述](https://img-blog.csdnimg.cn/c5c34b0d854d4b52bd71bc2dd09bc90b.jpg?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA57Sv5LqG5Zuw5LqG5pWy5Luj56CBIOaPkOelnuaKl-eWsuWKsw==,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)

7-1 输出全排列 (20 分)(全排列+递归+图解)Come Baby相关推荐

  1. PTA—输出全排列 (20分) 递归回溯思想

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

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

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

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

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

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

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

  5. 【PAT - 甲级1005】Spell It Right (20分) (递归输出,水题)

    题干: Given a non-negative integer N, your task is to compute the sum of all the digits of N, and outp ...

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

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

  7. 天梯赛 L1-023 输出GPLT (20 分)

    首先统计个数,再一轮轮输出 #include <iostream> using namespace std;int main() {ios::sync_with_stdio(false); ...

  8. 1043 输出PATest (20分)_23行代码满分

    立志用更少代码做更高效的表达 Pat乙级最优化代码+题解+分析汇总-->传送门 给定一个长度不超过 10^4 ​​ 的.仅由英文字母构成的字符串.请将字符重新调整顺序,按 PATestPATes ...

  9. 7-6 逆序输出整数 (20分)

    编写程序将整数逆序输出.如输入为9876输出为6789 Main函数中读入n个整数,输出n个整数的逆序数 输入格式: 整数个数n n个整数 输出格式: n个整数的逆序数 输入样例: 在这里给出一组输入 ...

最新文章

  1. 笔记本暗屏维修多少钱_电视机维修|维修电视机多少钱?电视机黑屏
  2. 未解决-hive之drop 表分区失败
  3. webclientt和httpwebrequest
  4. python : HTML+CSS (定时器轮寻)
  5. 原生希望原生JavaScript开篇
  6. Eclipse编写Java程序
  7. 【软件质量】软件可维护性
  8. 2021-08-04 Mysql自连接
  9. Python——基础习题(300题)
  10. 推荐一款好用的telnet工具
  11. 【Spring配置文件】Spring定时器的使用及配置
  12. qca9535 tftp32 刷机_【U-Boot】U-Boot 刷机方法大全
  13. 17届智能车竞赛技术报告 | 常熟理工学院-昆承湖二队
  14. java 微博爬虫 cookie_微博爬虫——自动获取访客Cookie - GXUZF.COM - 林澈思的茶
  15. 更多丰富内容,请转移至博主的个人博客——SeaDream乄造梦
  16. JS中将中文数字转化为阿拉伯数字
  17. OpenCV 图像清晰度评价(相机自动对焦)
  18. jquery变量var的使用
  19. 大数据必学Java基础(一百一十四):Requet域监听器
  20. Linux top命令的了解以及使用

热门文章

  1. gitlab 分支操作笔记\新建远程分支\抓取远程分支\复制远程\删除分支
  2. 如何使用vue组件搭建网页并打包发布
  3. oracle 数据库中拆分,oracle数据库字符串拆分
  4. PHP获取当前页面URL
  5. Java Eclipse开发环境搭建及注意事项
  6. React Native之hardwareBackPress
  7. Android之内存机制分析-Android堆和栈
  8. 如何把照片正面变成反面_没有锁边机如何做衣服(五种方法)
  9. 王道408数据结构——第八章 排序
  10. 不同声音的传播速度会一样吗?