题解 | #老子的全排列呢#

老子的全排列呢

https://ac.nowcoder.com/acm/problem/15128

内容持续更新欢迎,互关> https://ac.nowcoder.com/acm/contest/profile/453623014 ○| ̄|_

#include<bits/stdc++.h>
using namespace std;

int a[10],b[10];

void dfs(int num)
{//正如下面的说的,num的数值代表从1开始遍历,遍历到了某一组的第几个数字了
    if(num>8)
    {
        for(int i=1;i<=8;i++)cout<<a[i]<<' ';cout<<endl;
        //输出完要return,要不然就死循环了,永无出头之日
        return ;
    }
    for(int i=1;i<=8;i++)
    {//如果i这个数字在这一组中还没有被用过
        if(b[i]==0)
        {
        	//把i某一组数字的第num个位置上
            a[num]=i;
            //用过之后标记一下,表示不能再用了 
            b[i]=1;
            dfs(num+1);
            //用完之后标记0,表示用完了,下次可以继续用了
            b[i]=0;
        }
    }
}

int main()
{//从第一个数开始遍历(第一个数不一定是1,上面的那个num是代表处理的某一组的第几个数字
    dfs(1);
}



全部评论

相关推荐

Lorn的意义:你这种岗位在中国现在要么牛马天天加班,要么关系户进去好吃好喝,8年时间,真的天翻地覆了,对于资本来说你就说一头体力更好的牛马,哎,退伍没有包分配你真的亏了。
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务