老子的全排列呢
题目描述
老李见和尚赢了自己的酒,但是自己还舍不得,所以就耍起了赖皮,对和尚说,光武不行,再来点文的,你给我说出来1-8的全排序,我就让你喝,这次绝不耍你,你能帮帮和尚么?
输入描述
无
输出描述
1~8的全排列,按照全排列的顺序输出,每行结尾无空格。
示例1
输入
No_Input
输出
Full arrangement of 1~8
备注
1~3的全排列 :
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
Code
// #include <iostream>
// #include <algorithm>
// #include <cstring>
// #include <stack>//栈
// #include <deque>//堆/优先队列
// #include <queue>//队列
// #include <map>//映射
// #include <unordered_map>//哈希表
// #include <vector>//容器,存数组的数,表数组的长度
#include <bits/stdc++.h>
using namespace std;
#define endl '\n'
typedef long long ll;
const ll N=10;
ll n,path[N];
bool st[N];
void dfs(ll u)
{
if(u==n)
{
for(ll i=0;i<n;i++) cout<<path[i]<<" ";
cout<<endl;
}
for(ll i=1;i<=n;i++)
{
if(st[i]) continue;
path[u]=i;
st[i]=1;
dfs(u+1);
st[i]=0;
}
}
void solve()
{
//cin>>n;
n=8;
dfs(0);
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(0),cout.tie(0);
ll t=1;
//cin>>t;
while(t--) solve();
return 0;
}
标签:排列,ll,cin,dfs,st,老子,include
From: https://blog.csdn.net/2301_80065123/article/details/143713994