蓝桥杯备考:搜索算法之排列问题

蓝桥杯备考:搜索算法之排列问题_第1张图片

蓝桥杯备考:搜索算法之排列问题_第2张图片

#include 
#include 
using namespace std;
int n,k;
const int N = 20;
vector path;
bool st[N];
void dfs()
{
	if(path.size() == k)
	{
		for(auto e : path)
		{
			cout << e << " ";
		}
		cout << endl;
	}
	for(int i = 1;i<=n;i++)
	{
		if(st[i]) continue;
		path.push_back(i);
		st[i] = true;
		dfs();
		path.pop_back();
		st[i] = false;
	}
}

int main()
{
	cin >> n >> k;
	dfs();
}

你可能感兴趣的:(蓝桥杯,算法,职场和发展)