c++ 组合
组合
题目描述
已知一个一维数组a1..n,又已知一整数m。 如能使数组a中任意几个元素之和等于m,则输出YES,反之则为NO。
输入
输入包括两行,第一行包含两个整数n m(1<=n<20,1<=m<=1000000),第二行输入n个整数(每个数不会超过1000000)。
输出
如能使数组a中任意几个元素之和等于m,则输出YES,反之则为NO。
样例输入
6 5
2 3 1 4 2 1
样例输出
YES
提示
(None)
代码+注释
#include <bits/stdc++.h>
using namespace std;
int nums[101];
int n; //数组元素个数
int m; //数组中存在n个元素和为m
bool flag;
void sum(int n,int m) //求数组中是否存在一些元素和等于m
{
if(nums[n] == m) flag = true; //假设数组的最后一个元素等于和m,将flag变量置为true
else if(n == 1) return ; //搜索完了整个数组返回
else
{
sum(n - 1,m - nums[n]); //说明取了nums[n]元素
sum(n - 1,m); //说明没有取nums[n]
}
}
int main()
{
cin >> n;
for(int i = 1;i <= n;i ++)
{
cin >> nums[i];
}
cin >> m;
flag = false; //初始时,将flag置为false,当找到某些元素和为m的时候在sum函数中flag的值将改变
sum(n,m);
if(flag)
cout << "Yes" << endl;
else
cout << "No" << endl;
return 0;
}
c++ 组合的更多相关文章
- 复杂的 Hash 函数组合有意义吗?
很久以前看到一篇文章,讲某个大网站储存用户口令时,会经过十分复杂的处理.怎么个复杂记不得了,大概就是先 Hash,结果加上一些特殊字符再 Hash,结果再加上些字符.再倒序.再怎么怎么的.再 Hash ...
- JS继承之借用构造函数继承和组合继承
根据少一点套路,多一点真诚这个原则,继续学习. 借用构造函数继承 在解决原型中包含引用类型值所带来问题的过程中,开发人员开始使用一种叫做借用构造函数(constructor stealing)的技术( ...
- ComponentPattern (组合模式)
import java.util.LinkedList; /** * 组合模式 * * @author TMAC-J 主要用于树状结构,用于部分和整体区别无区别的场景 想象一下,假设有一批连锁的理发店 ...
- 安卓自定义组合控件--toolbar
最近在学习安卓APP的开发,用到了toolbar这个控件, 最开始使用时include layout这种方法,不过感觉封装性不好,就又改成了自定义组合控件的方式. 使用的工具为android stud ...
- UML类图(下):关联、聚合、组合、依赖
前言 上一篇文章UML类图(上):类.继承.实现,讲了UML类图中类.继承.实现三种关系及其在UML类图中的画法,本文将接着上文的内容,继续讲讲对象之间的其他几种关系,主要就是关联.聚合.组合.依赖, ...
- 面向组合子设计Coder
面向组合子 面向组合子(Combanitor-Oriented),是最近帮我打开新世界大门的一种pattern.缘起haskell,又见monad与ParseC,终于ajoo前辈的几篇文章. 自去年9 ...
- Atitit 动态按钮图片背景颜色与文字组合解决方案
Atitit 动态按钮图片背景颜色与文字组合解决方案 转换背景颜色,setFont("cywe_img", fontScale, 50, 5) 设置文字大小与坐标 文字分拆,使用字 ...
- Android自定义控件之自定义组合控件
前言: 前两篇介绍了自定义控件的基础原理Android自定义控件之基本原理(一).自定义属性Android自定义控件之自定义属性(二).今天重点介绍一下如何通过自定义组合控件来提高布局的复用,降低开发 ...
- 设计模式(十一):从文Finder中认识"组合模式"(Composite Pattern)
上一篇博客中我们从从电影院中认识了"迭代器模式"(Iterator Pattern),今天我们就从文件系统中来认识一下“组合模式”(Composite Pattern).说到组合模 ...
- 设计模式(十)组合模式(Composite Pattern)
一.引言 在软件开发过程中,我们经常会遇到处理简单对象和复合对象的情况,例如对操作系统中目录的处理就是这样的一个例子,因为目录可以包括单独的文件,也可以包括文件夹,文件夹又是由文件组成的,由于简单对象 ...
随机推荐
- WPF 附加属性的使用
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threa ...
- 读BeautifulSoup官方文档之html树的修改
修改html树无非是对其中标签的改动, 改动标签的名字(也就是类型), 属性和标签里的内容... 先讲这边提供了很方便的方法来对其进行改动... soup = BeautifulSoup('<b ...
- WPF常见内存泄露
Event handlers leak This type of leak occurs when subscribing an object (let's call it listener) to ...
- 字符串、数组操作函数 Copy Concat Delete Insert High MidStr Pos SetLength StrPCopy TrimLeft
对字符串及数组的操作,是每个程序员必须要掌握的.熟练的使用这些函数,在编程时能更加得心应手. 1.Copy 功能说明:该函数用于从字符串中复制指定范围中的字符.该函数有3个参数.第一个参数是数据源(即 ...
- 小记同学一次奇葩的DNS欺骗实验失败经历
这是一个DNS欺骗实验,使用kali的ettercap.有受害者.攻击者(虚拟机).Web服务器三台机器.受害者的事124.16.70.105虚拟机的是124.16.71.48web服务器是124.1 ...
- GIS基础软件及操作(五)
原文 GIS基础软件及操作(五) 练习五.空间分析的基本操作 空间分析的基本操作 空间分析模块 空间分析是基于地理对象的位置和形态的空间数据的分析技术,其目的在于提取和传输空间信息.空间分析是地理信息 ...
- Qt PNG 背景透明
本文主要是解决Qt中QGraphicsAbstractShapeItem,QPixmap,QPainter等组件的透明化显示问题. 在Qt中定义了一个常量,用于设置透明的颜色,即Qt::transpa ...
- mfc动态显示图片
参考:https://blog.csdn.net/pudongdong/article/details/69396600 之前写过win32动态显示图片的博客,这次用到了mfc.原理是一样的. OnI ...
- 关于XML异步
记得有次面试的时候面试官问我知道AJAX吗?当时我回答听过但是没去看过,当时只是知道它和异步的概念有关. 经过查资料,弄明白了些头绪,下面就把我自己对AJAX的理解说说. 大多数浏览器是支持XMLHt ...
- PE工具列表(看雪学院)
PE编辑工具 Stud_PE v. 2.6.0.5 Stud_PE v.2.6.1.0 (2.61汉化版) PE工具,用来学习PE格式十分方便. LordPE DLX增强版(2008.5.31) ...