蓝桥杯备考----->DFS组合型枚举,选数问题

cpp 复制代码
#include <iostream>
using namespace std;
int n, k;
const int N = 25;
int a[N];
int path;
int ret;

bool isprime(int x)
{
	if (x <= 1) return false;
	else
	{
		for (int i = 2; i <= x / i; i++)
		{
			if (x % i == 0)
			{
				return false;
			}
		}
	}
	return true;
}
void dfs(int pos, int begin)
{
	if (pos > k)
	{
		if (isprime(path))
			ret++;
		return;
	}
	for (int i = begin; i <= n; i++)
	{
		path += a[i];
		dfs(pos + 1, i + 1);
		path -= a[i];
	}
}
int main()
{
	cin >> n >> k;

	for (int i = 1; i <= n; i++)
	{
		cin >> a[i];
	}

	dfs(1, 1);

	cout << ret << endl;





	return 0;
}
相关推荐
前端架构师-老李12 分钟前
职场发展—如何避雷垃圾公司
职场和发展
天才测试猿2 小时前
黑盒测试用例的四种设计方法
自动化测试·软件测试·python·功能测试·测试工具·职场和发展·测试用例
墨染点香11 小时前
LeetCode 刷题【126. 单词接龙 II】
算法·leetcode·职场和发展
茉莉玫瑰花茶15 小时前
floodfill 算法(dfs)
算法·深度优先
坚持编程的菜鸟18 小时前
LeetCode每日一题——三角形的最大周长
算法·leetcode·职场和发展
爱吃生蚝的于勒21 小时前
【Linux】深入理解进程(一)
java·linux·运维·服务器·数据结构·c++·蓝桥杯
爱coding的橙子21 小时前
每日算法刷题Day76:10.19:leetcode 二叉树12道题,用时3h
算法·leetcode·职场和发展
夏鹏今天学习了吗1 天前
【LeetCode热题100(47/100)】路径总和 III
算法·leetcode·职场和发展
007php0071 天前
猿辅导Java面试真实经历与深度总结(二)
java·开发语言·python·计算机网络·面试·职场和发展·golang