首页 > 其他分享 >全排列问题

全排列问题

时间:2022-08-23 11:58:44浏览次数:52  
标签:排列 return 题意 标记 int dfs 问题

全排列问题

  • 分析:根据题意,要求输出数字的所有排列组合,最主要的是写一个dfs函数。在函数中要规定循环结束的条件,也就是所有的数排列完成,然后再按照题意输出,在循环中如果这个数没有被标记(提前设了一个标记数组)说明这个排列组合还没有出现过,就保存下现在的数,将他标记,然后进行下一轮递归,回溯时清空标记数组(恢复保存结果之前的状态)。
  • #include<iostream>
    #include<cstdio>
    #include<algorithm>
    using namespace std;
    int n,a[101],b[101];
    void dfs(int x)
    {
    if(x==n+1)//所有数排列完成
    {
    for(int i=1;i<=n;i++)
    printf("%5d",a[i]);
    cout<<endl;
    return;
    }
    for(int i=1;i<=n;i++)
    {
    if(b[i]==0)//未被标记
    {
    a[x]=i;//保存
    b[i]=1;//标记
    dfs(x+1);//进行下一轮递归
    b[i]=0;//清空标记
    }
    }
    }
    int main()
    {
    cin>>n;
    dfs(1);
    return 0;
    }

标签:排列,return,题意,标记,int,dfs,问题
From: https://www.cnblogs.com/xdzxjinghan/p/16615648.html

相关文章

  • dev 报表字段小计 使用函数问题
        第一个统计正确,第二个统计出错第一个用的sumRunningSum([Quantity])第二个用的Sum. 总结sum是总计   sumRunningSum小计还有个小计sumSum跟前者......
  • 洛谷 P1706 全排列问题
    题目链接:https://www.luogu.com.cn/problem/P1706试题分析:题目要求按照字典序输出自然数 1 到 n 所有不重复的排列,且每一序列中的数字也不重复,我们可以运用搜索,将搜索......
  • 【Ubuntu】Ubuntu 18.04 LTS 更换国内源——解决终端下载速度慢的问题
    最近装了ubuntu18.04LTS,下载软件有点慢,网上搜了下解决方案,大致是两种:一、把/etc/apt/sources.list文件里的源更换一下,改成阿里云或者其它的镜像的文件;二、更换software&up......
  • 全排列问题
    先定义两个数组,一个是用来存放解的,一个是用来标记该数是否用过。先判断格子是否填满了,如果填满,则输出。如果没有填满,则开始循环,在循环中先判断当前填的数是否用过,如果没......
  • 【HMS core】【FAQ】典型问题合集7
    ​1、【HMScore】【AccountKit】【问题描述】集成华为帐号服务后,登录服务异常,无法获取用户信息,报statusCode为907135001,抓取报错日志:Failedtoreadmetadataforthe......
  • 【AGC】典型问题FAQ 5
    ​ 1、如何配置重新生成的证书指纹。   问题描述:开发者在使用应用签名服务后,AGC会根据签名密钥重新生成证书指纹,可能不同于开发应用时本地生成的签名证书指纹。......
  • 【AGC】典型问题FAQ 4
    ​1、签名证书丢失如何找回。   问题描述:开发者APP1.0.1版本的签名证书已经丢失和注销;升级为1.0.2版本时,用新的签名证书,无法让已经安装的老客户顺畅升级导致无法通......
  • 【付费推广】常见问题合集,客户投放伙伴相关问题FAQ 2
    [问题七]客户投放伙伴子账户如何转为客户投放伙伴主账户?客户投放伙伴子账户可登录华为应用市场付费推广网站,进入首页,提交“申请成为客户投放伙伴”。审核通过后,即可成为客......
  • 【推送服务】【FAQ】Push Ki常见咨询合集7--其它问题
    ​1、推送服务的错误码有哪些?推送服务有客户端错误码和服务端错误码两部分,还记录了开发者们在集成推送服务中遇到的常见错误码,如果这些错误码都不能解决您的问题,请联系技......
  • C# Thread.Sleep问题
    C#Thread.Sleep不精准的问题以及解决方案1.问题 最近在写一个熔断的SDK,其中一种策略是根据慢请求来进行熔断。 我们在测试的时候,在对应API里面采用了Thread.S......