• 牛客网 2018年全国多校算法寒假训练营练习比赛(第四场) H.老子的全排列呢-DFS


    H.老子的全排列呢
     
    时间限制:C/C++ 1秒,其他语言2秒
    空间限制:C/C++ 32768K,其他语言65536K
    64bit IO Format: %lld

    题目描述

    老李见和尚赢了自己的酒,但是自己还舍不得,所以就耍起了赖皮,对和尚说,光武不行,再来点文的,你给我说出来1-8的全排序,我就让你喝,这次绝不耍你,你能帮帮和尚么?

    输入描述:

    输出描述:

    1~8的全排列,按照全排列的顺序输出,每行结尾无空格。
    示例1

    输入

    No_Input

    输出

    Full arrangement of 1~8

    备注:

    1~3的全排列  :
    1 2 3
    1 3 2
    2 1 3
    2 3 1
    3 1 2
    3 2 1


    这个题简直是,真的很想喊一句:老子的全排列呢???!

    写的时候简直蠢哭,直接贴的板子,但是自己调试的时候,输出的是1-4的全排列,结果忘记改了直接交上去显示格式错误,我也是醉了。

    还特别蠢的问客服小姐姐,格式错误什么情况???我的空格和换行都没错啊,后来发现之后,简直是|ू•ૅω•́)ᵎᵎᵎ(撞墙)

    因为是直接贴的网上的板子,不发表任何言论。

    代码:

     1 #include<iostream>
     2 #include<cstring>
     3 #include<cstdio>
     4 #include<cmath>
     5 #include<algorithm>
     6 #include<queue>
     7 using namespace std;
     8 int a[100000];
     9 void dfs(int cur,int n){//cur表示目前正在填的数,n表示总共要填的数
    10     if(cur==n){//递归边界,说明填完了
    11         for(int i=0;i<n;i++){//一个一个的输出
    12             if(i!=n-1)cout<<a[i]<<" ";
    13             else cout<<a[i]<<endl;
    14         }
    15     }
    16     for(int i=1;i<=n;i++){//把数字1-n填入
    17         int ok=1;
    18         for(int j=0;j<cur;j++){//遍历目前a数组里面的元素,判断当前这个数有没有填过(用过)
    19             if(a[j]==i) ok=0;
    20         }
    21         if(ok==1){
    22             a[cur]=i;//没有填过就填 ,把它放在a数组的最后
    23             dfs(cur+1,n);//再排A数组元素里面的第cur+1个位置 (这里就不需要设置撤销的动作了~反正每次进来都会判断数字有没有填过)
    24         }
    25     }
    26 }
    27 int main(){
    28     dfs(0,8);
    29     return 0;
    30 }

    因为不想再补最近的这些题了,随便写写东西代表结束。

    后面要学点新东西了(嘻嘻嘻~ )|ω・`)

    溜了溜了,最近熬夜太多,心脏疼。。。

  • 相关阅读:
    谈Vite在Electron环境下吃花卷拉馒头的现象
    公司只提供签名服务,不提供证书文件,如何打包Electron应用
    vue3微前端架构——基于蚂蚁qiankun框架
    Vite ❤ Electron——基于Vite搭建Electron+Vue3的开发环境【一】
    dotnet core 高CPU lldb篇
    Openshift入门(转)
    使用 dotnet test 和 xUnit 在 .NET Core 中进行 C# 单元测试
    ASP.NET Core 中的单元测试控制器逻辑
    ASP.NET Core 中间件
    Precise Computation of CLR Object Size
  • 原文地址:https://www.cnblogs.com/ZERO-/p/9711303.html
Copyright © 2020-2023  润新知