【蓝桥杯】*试题 算法训练 数字游戏

  • Post author:
  • Post category:其他


开始觉得像变形的杨辉三角。。



题目链接

/*
*date:2021.11.29
*author:percation
*/
#include <bits/stdc++.h>
using namespace std;
const int N = 1e3 + 10;
int f[N];
int a[N];
int n,m;
int path[N];
bool vis[N];
bool flag = 0;
void dfs(int u){
	if(u == n){
		for(int i = 0; i < n; i++){
			f[i] = path[i];
		}
		for(int i = 0; i < n - 1; i++){
			for(int j = 0; j < n - i; j++)
				f[j] += f[j + 1];
		}
		if(f[0] == m && !flag){
			for(int i = 0; i < n; i++){
				cout << path[i] << " ";
			}
			flag = 1;
			cout << endl;
			return ;
		}
		else
			return ;
	}
	for(int i = 1; i <= n; i++){
		if(!vis[i]){
			path[u] = i;
			vis[i] = true;
			dfs(u + 1);
			vis[i] = false; 
		}
	}
}
int main(){
	cin >> n >> m; 
	dfs(0);
	return 0;
} 



版权声明:本文为qq_45866781原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。