洛谷 P1706 全排列
可能是最简单的题了……讲真搜索hhh
洛谷
P1706 全排列问题
题目描述
输出自然数1到n所有不重复的排列,即n的全排列,要求所产生的任一数字序列中不允许出现重复的数字。
输入输出格式
输入格式:
n(1≤n≤9)
输出格式:
由1~n组成的所有不重复的数字序列,每行一个序列。每个数字保留5个常宽。
输入输出样例
3
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
搜索版:
//setw(5)
#include<iostream>
#include<cstdio>
#include<cmath>
#include<iomanip>
using namespace std; int n,a[]= {}; //数组记录多种情况
bool b[]= {}; int print() {
for(int k=; k<=n; k++)cout<<setw()<<a[k];
printf("\n");
} int search(int q) {
for(int i=; i<=n; i++)
if(!b[i]) {
b[i]=;
a[q]=i;
if(q==n) print();
else search(q+);
b[i]=;
}
} int main() {
cin>>n;
search();
return ;
}
栈版:
#include <iostream>
#include <cstdio>
using namespace std; int n;
int stack[],used[]; void dfs() {
int top=;
stack[top]=;
while(top>=) {
if(top==n+) {
for(int i=; i<=n; ++i)
printf("%5d",stack[i]);
printf("\n");
used[stack[--top]]=false;
continue;
}
do {
stack[top]++;
}while(used[stack[top]] && stack[top]<=n);
if(stack[top]<=n) {
used[stack[top]]=true;
stack[++top]=;
}
else
used[stack[--top]]=false;
}
} int main()
{
scanf("%d",&n);
dfs();
return ;
}
洛谷 P1706 全排列的更多相关文章
- 洛谷 P1706 全排列问题
题目链接 https://www.luogu.org/problemnew/show/P1706 题目描述 输出自然数1到n所有不重复的排列,即n的全排列,要求所产生的任一数字序列中不允许出现重复的数 ...
- 洛谷——P1706 全排列问题
P1706 全排列问题 题目描述 输出自然数1到n所有不重复的排列,即n的全排列,要求所产生的任一数字序列中不允许出现重复的数字. 输入输出格式 输入格式: n(1≤n≤9) 输出格式: 由1-n组成 ...
- 洛谷P1706全排列问题
P1706 全排列问题 题目描述 输出自然数1到n所有不重复的排列,即n的全排列,要求所产生的任一数字序列中不允许出现重复的数字. 输入输出格式 输入格式: n(1≤n≤9) 输出格式: 由1-n组 ...
- 【洛谷P1706全排列问题】
题目描述 输出自然数1到n所有不重复的排列,即n的全排列,要求所产生的任一数字序列中不允许出现重复的数字. 代码如下: #include<iostream>#include<cstd ...
- 洛谷 P1706 全排列问题 :STL / dfs
题目描述 输出自然数1到n所有不重复的排列,即n的全排列,要求所产生的任一数字序列中不允许出现重复的数字. 输入输出格式 输入格式: n(1≤n≤9) 输出格式: 由1-n组成的所有不重复的数字序列, ...
- 洛谷P1706 全排列问题
题目描述 输出自然数1到n所有不重复的排列,即n的全排列,要求所产生的任一数字序列中不允许出现重复的数字. 输入输出格式 输入格式: n(1≤n≤9) 输出格式: 由1-n组成的所有不重复的数字序列, ...
- 【递归】P1706全排列问题
题目相关 题目描述 输出自然数 1 到 n所有不重复的排列,即 n的全排列,要求所产生的任一数字序列中不允许出现重复的数字. 输入格式 一个整数 n**. 输出格式 由 1∼n 组成的所有不重复的数字 ...
- 洛谷试炼场-简单数学问题-P1088 火星人
洛谷试炼场-简单数学问题 A--P1088 火星人 Description 人类终于登上了火星的土地并且见到了神秘的火星人.人类和火星人都无法理解对方的语言,但是我们的科学家发明了一种用数字交流的方法 ...
- 【洛谷】【洛谷月赛】4月月赛Round 1/2
洛谷月赛“月”来“月”丧了,一月更比一月丧,做得我十分不“月”…… 4月的两轮月赛,都只会T1,就写一下吧,等待后续更新…… 先看看Round1的T1: [R1T1] 网址:点我 [题意简述] 给定一 ...
随机推荐
- 小白学PYTHON时最容易犯的6个错误
最近又在跟之前的同学一起学习python,一起进步,发现很多测试同学在初学python的时候很容易犯一些错误,特意总结了一下.其实这些错误不仅是在学python时会碰到,在学习其他语言的时候也同样会碰 ...
- css走马灯,一步一停(专家介绍类型)
<div class="CON--cen-pd3 clear aniview slow" data-av-animation="fadeIn"> & ...
- MyBatis学习存档(4)——进行CRUD操作
使用MyBatis进行数据库的CRUD操作有2种方式:一种如之前所说的接口+xml,而另一种是通过对接口上的方法加注解(@Select @Insert @Delete @Update) 但是通常情况下 ...
- 高性能网站建设之 MS Sql Server数据库分区
什么是数据库分区?数据库分区是一种对表的横向分割,Sql server 2005企业版和之后的Sql server版本才提供这种技术,这种对表的横向分割不同于2000中的表分割,它对访问用户是透明的, ...
- 又谈F分布
今天看到一篇不错的博文,有感,记录下来,相对来说讲到了本质,也很容易理解.https://www.cnblogs.com/think-and-do/p/6509239.html 首先,老生常谈,还是那 ...
- C#端口、IP正则
端口正则: string pattrn = "^[0-9]+$"; if (System.Text.RegularExpressions.Regex.IsMatch(Porttex ...
- 复杂度n求数组的第K大值
利用快速排序的方法进行: #include<iostream> using namespace std; int test() { ; return a; } int quickSort( ...
- 张小龙用这8句话表达了NB产品的一切(转)
1.一个好的产品应该是用完即走 真正好的产品,应该是让用户提高效率而不是消磨时光.但现在大部分用户使用微信的时间让我们很担忧. 包括我们自己的同事,在开会的时候,有同事隔两分钟就看一下手机,我觉得他们 ...
- iot平台异构对接文档
iot平台异构对接文档 准备工作 平台提供的XAgent开发指南.pdf demo程序xagent-ptp-demo 平台上添加产品得到产品id和key 部署时需要插件的基础程序<xlink-x ...
- SpringCloud 随笔
目录 服务间通讯 统一配置中心 RabbitMQ Spring Cloud Stream 服务网关 Spring Cloud Zuul ++==(纯手打,代码可能有错!)==++ 服务间通讯 Rest ...