首页 > 其他分享 >全排列

全排列

时间:2023-02-17 15:07:07浏览次数:27  
标签:排列 return int MAX dfs step book


#include <iostream>
#include <cstdio>
using namespace std ;
// 输出全排列
const int MAX = 1000;
int a[MAX];
int n ;
int book[MAX];
void dfs(int step)
{
int i ;
if(step==n+1)
{
for(i=1;i<=n;i++)
cout<<a[i];
cout<<endl;
return ;
}
for(i=1;i<=n;i++)
{
if(book[i]==0)
{
book[i] = 1 ;
a[step]= i ;
dfs(step+1);
book[i] = 0;
}


}
return ;
}
int main()
{
cin>>n ;
dfs(1);
getchar() ;

return 0;
}



标签:排列,return,int,MAX,dfs,step,book
From: https://blog.51cto.com/u_15970235/6064097

相关文章

  • 字符串的排列
    字符串的排列给你两个字符串 s1 和 s2,写一个函数来判断s2是否包含s1 的排列。如果是,返回true;否则,返回false。换句话说,s1的排列之一是s2的子串。示例......
  • 浅析排列组合、斯特林数、贝尔数、二项式定理与推论及其反演、子集反演、广义容斥
    浅析排列组合、斯特林数、贝尔数、二项式定理与推论及其反演、子集反演、广义容斥目录浅析排列组合、斯特林数、贝尔数、二项式定理与推论及其反演、子集反演、广义容斥更......
  • 排列(permutation)
    link是一道dp好题。对于一个划分,逆序对乘积的期望,即为每个划分每条线段中选两个数,所有这些数对都是逆序对的概率求和。同时我们注意到,我们可以将偶数位置排序的限制,改成......
  • 3601、排列硬币
    你总共有n枚硬币,并计划将它们按阶梯状排列。对于一个由k行组成的阶梯,其第i行必须正好有i枚硬币。阶梯的最后一行可能是不完整的。给你一个数字n,计算并返回可形......
  • 代码随想录算法训练营第二十八天 | 491.递增子序列,46.全排列,47.全排列 II
    一、参考资料递增子序列题目链接/文章讲解:https://programmercarl.com/0491.%E9%80%92%E5%A2%9E%E5%AD%90%E5%BA%8F%E5%88%97.html视频讲解:https://www.bilibili.co......
  • 排列问题
    有n个人排成一队散步,第二天每个人都不想和前一天前面的人相同,多少种排列n!-(n-1)(n-1)!+(n-2)(n-2)!-...1*1模拟n=3#include<iostream>#include<algorithm>#include<......
  • 已知顺序表L中的数据元素按照递增有序排列。删除顺序表中所有大于k1且小于k2的元素
    问题引入:已知顺序表L中的数据元素按照递增有序排列。删除顺序表中所有大于k1且小于k2的元素(k1<=k2)算法思想:先寻找值大于等于k1的第一个元素(第一个删除的数据元素),......
  • 插入有序的单链表(要求插入后元素有序排列)
    问题引入:某校实验室有一批计算机,按其价格从低到高的次序构成了一个单链表存放,链表中每个结点指出同样价格的若干台。现在又增加m台价格为h元的计算机,编程实现实验室计......
  • 第 11 章 在用户界面上排列组件
    11.1基本的界面布局....................................19111.1.1布置界面........................................19111.1.2顺序布局..............................
  • 排列组合的方便方法(枚举)
    在之前我排列组合思考了一段时间最后得出这样的算法 #include<stdio.h>#include<string.h>#include<stdlib.h>#include<math.h>intcc(intc[],intv);intmain(){ ......