文章

39

粉丝

45

获赞

0

访问

7.0k

头像
全排列 题解:dfs+c语言
P1185 中国矿业大学/北京大学机考题
发布于2024年3月10日 14:14
阅读数 358

#include <stdio.h>
#include <stdlib.h>

char s[1000],path[1000];
int st[1000];
int n;

void dfs(int u){
    if(u==n)printf("%s\n",path);
    else{
        for(int i=0;i<n;i++){
            if(!st[i]){
                path[u]=s[i];
                st[i]=1;
                dfs(u+1);
                st[i]=0;
            }
        }


    }
}

int main() {
    scanf("%s", &s);
    n=strlen(s);
    for(int i=0;i<1000;i++)st[i]=0;
    dfs(0);
    return 0;
}

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发