数字游戏(蓝桥杯算法训练)(C/C++)

数字游戏(蓝桥杯算法训练)(C/C++)_第1张图片 看到全排列,说明这是一道典型的DFS题目

#include 
using namespace std;

int a[10]={1,2,3,4,5,6,7,8,9,10};
int sum;
bool vis[10];//表明数字是否用过 
int N;//全排列个数 
int b[10];//全排列后的序列 (主要是用来备份) 
int c[10];//进行计算的序列 
void dfs(int s)
{
	if(s==N)//DFS确定边界 
	{
		for(int i=0;i>N>>sum;
	dfs(0);
	cout<<"\n";
	return 0;
}

 这里需要特别说明,这里DFS的全排列其实就是按照字典序排列,所以说得出了一个解之后就没有必要继续算了,直接退出即可

你可能感兴趣的:(游戏)