思路
递归
Code
#include <bits/stdc++.h>
using namespace std;
const int N = 20;
bool st[N];
void dfs(int u,string s){
if(u==8) {
for(int i=0;i<8;i++) cout<<s[i]<<" \n"[i==7];
}
if(u>=8) return;
for(int i=1;i<=8;i++){
if(!st[i]){
st[i]=true;
string ss=s;
ss+=i+'0';
dfs(u+1,ss);
st[i]=false;
}
}
}
int main(){
dfs(0,"");
return 0;
}
京公网安备 11010502036488号