当前位置: 首页 > news >正文

免费自助建站系统外卖网站那家做的好处

免费自助建站系统,外卖网站那家做的好处,去国外做外卖网站,素材视频集合里的乘法 题目描述 给定一个目标数T和一个整数集合S,判断是否存在S的一个非空子集,子集中的数相乘的积为T。 关于输入 输入为两行。 第一行为目标数T,和S中的元素个数N,以空格隔开。 第二行为S中的N个元素,以空…

集合里的乘法

题目描述

给定一个目标数T和一个整数集合S,判断是否存在S的一个非空子集,子集中的数相乘的积为T。

关于输入

输入为两行。
第一行为目标数T,和S中的元素个数N,以空格隔开。
第二行为S中的N个元素,以空格隔开。
其中 N <= 16。

关于输出

如果可以,则输出YES,否则输出NO。

例子输入
12 5
1 2 3 4 5
例子输出
YES
解题分析

这个算法的核心思想是使用深度优先搜索(DFS)遍历所有可能的子集,并计算它们的乘积。如果找到一个子集的乘积等于目标数,就返回YES,否则返回NO。

以下是该算法的详细步骤:

1. 首先,我们读取目标数T和集合S的元素。集合S的元素被存储在一个数组中,数组的索引从0开始。

2. 然后,我们调用深度优先搜索函数`dfs`,开始时的索引为0,乘积为1。这意味着我们从集合的第一个元素开始搜索,初始的乘积是1(因为任何数乘以1都等于它自己)。

3. 在`dfs`函数中,我们首先检查是否已经找到了解决方案(`flag`是否为1)或者当前乘积是否已经超过了目标数T。如果是的话,我们就直接返回,不再继续搜索。这是一种剪枝策略,可以避免无效的搜索,提高算法的效率。

4. 然后,我们检查当前的乘积是否等于目标数,如果是的话,我们就设置`flag`为1并返回。这表示我们已经找到了一个满足条件的子集。

5. 如果当前的索引已经达到了集合的大小,这意味着我们已经遍历了所有的元素,但还没有找到满足条件的子集,所以我们就返回。

6. 否则,我们对当前索引的元素有两种选择:一是选择它(将它乘入当前的乘积),二是不选择它(保持当前的乘积不变)。我们对这两种选择都进行搜索。这是深度优先搜索的核心步骤,通过递归调用`dfs`函数,我们可以遍历所有可能的子集。

7. 在主函数中,如果`flag`为1,说明我们找到了一个解决方案,输出YES。否则,输出NO。

这个算法的时间复杂度是O(2^n),其中n是集合的大小。因为对于集合中的每一个元素,我们都有两种选择:选择它或者不选择它。所以总共有2^n种可能的子集。由于题目中给出集合的大小不超过16,所以这个算法在时间上是可行的。

代码实现
#include <stdio.h>int N;
long long T, S[16];
char flag;void dfs(int index, long long product) {if (flag || product > T) return;if (product == T) {flag = 1;return;}if (index == N) return;dfs(index + 1, product * S[index]);dfs(index + 1, product);
}int main() {scanf("%lld %d", &T, &N);for (int i = 0; i < N; i++) {scanf("%lld", &S[i]);}dfs(0, 1);if (flag) {printf("YES\n");} else {printf("NO\n");}return 0;
}

http://www.yayakq.cn/news/428799/

相关文章:

  • 被墙的网站有哪些免费自己制作网站教程
  • 如何建网站挣钱autumn wordpress
  • 句容住房和城乡建设局网站开发网站需要学什么
  • wordpress 替代插件seo的收费标准
  • 域名注册网站 不认证网站积分方案
  • idc 公司网站模板建设网站要那些
  • 网站应用是什么如何建设线报网站
  • 重庆蒲公英网站建设公司网页制作学什么最好
  • 个人在线网站推广广告设计与制作教程
  • 专业餐饮网站建设建设一个官方网站多少钱
  • 做网站公司在丹麦北京地铁建设的网站
  • 企业网站排名优化方案酒店微信网站建设
  • 狮山做网站翻墙国外网站做兼职
  • 企业微信网站建设方案模板wordpress怎么调用百度地图api
  • vps打开网站很慢淘宝网站建设的策划书
  • 小牛门户网站开发高端app
  • 试玩网站建设制作免费网站建设解决方案
  • 济南网站建设伍际网络抚顺网站开发招聘
  • 国外的购物网站有哪些40平小商铺装修
  • 模板下载免费网站电商说白了做啥
  • 乐陵市人力资源中心网站对市场营销的认识
  • 云南省建设厅网站二建上海市建设工程咨询行业协会
  • 网站策划书结尾网络运维工作总结
  • php网站开发步骤制作营销网页
  • 免费网站风格嵌入式软件开发环境有哪些
  • 国外网页素材网站岱山县建设网站
  • 织梦图片网站源码如何在公司建网站系统
  • wordpress 8080seo免费培训视频
  • 宁夏建设监督网站vps搭建asp网站
  • 沙井网站优化wordpress 文章点赞插件