dfs-题解 | #全排列#

全排列

https://www.nowcoder.com/practice/5632c23d0d654aecbc9315d1720421c1

#include <iostream>

using namespace std;
const int N = 10;
int n;
char path[N];
bool st[N];
string s;
void dfs(int u){
    if(u == n){
        for(int i = 0; i < n; i ++) cout<<path[i];
        cout<<endl;
        return;
    }
    for(int i = 0; i < n; i ++){
        if(!st[i]){
            st[i] = true;
            path[u] = s[i];
            dfs(u + 1);
            st[i] = false;
        }
    }
}

int main(){
    
    cin>>s;
    n = s.size();
    dfs(0);
    return 0;
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
02-12 10:05
小米集团 算法工程师 28.0k*15.0
泡沫灬一触即破:楼上那个看来是看人拿高薪,自己又不如意搁这泄愤呢是吧,看你过往评论很难不怀疑你的精神状态
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务