文章

111

粉丝

1

获赞

721

访问

21.1k

头像
全排列 题解:c++
P1185 中国矿业大学/北京大学机考题
发布于2026年3月9日 01:25
阅读数 261

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

char path[8];
int visited[8];
string str;
int num;
void dfs(int step){
    if(step == num){
        for(int i = 0 ; i < num ; i++){
            cout << path[i];
        }
        cout << endl;
        return;
    }
    for(int i = 0 ; i < num ; i++){
        if(visited[i] == 1) continue;
        visited[i] = 1;
        path[step] = str[i];
        dfs(step+1);
        visited[i] = 0;
    }
}

int main(){
    while(cin >> str){
        memset(visited,0,sizeof(visited));
        memset(path,0,sizeof(path));
        num = str.size();
        dfs(0)...

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发