0
点赞
收藏
分享

微信扫一扫

DFS(排列数字)

SDKB英文 2022-02-12 阅读 32

DFS入门级(模板)_浮生未歇-CSDN博客_dfs入门

题目:

代码:

#include <iostream>

using namespace std;

const int N = 10;

int n;
int path[N];
bool st[N];

void dfs(int u)
{
if (u == n)//说明当前位置已填满
{
for (int i = 0; i < n; i ++ )cout<<path[i]<<" ";
puts("");
return;
}

for (int i = 1; i <= n; i ++ ) //当前位置没有被填满
if (!st[i])
{
path[u] = i ; //把i放到当前位置上
st[i]=true; //记录i已被用过
dfs(u+1);//递归到下一层
path[u]=0; //恢复(也可省略)
st[i]=false;
}
}

int main()
{
cin>>n;;

dfs(0);

return 0;
}

 

举报

相关推荐

0 条评论