华为机试HJ93:数组分组
作者:翟天保Steven
版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处
题目描述:
输入int型数组,询问该数组能否分成两组,使得两组中各元素加起来的和相等,并且,所有5的倍数必须在其中一个组中,所有3的倍数在另一个组中(不包括5的倍数),能满足以上条件,输出true;不满足时输出false。
本题含有多组样例输入。
输入描述:
第一行是数据个数,第二行是输入的数据
输出描述:
返回true或者false
示例:
输入:
4 1 5 -5 1 3 3 5 8
输出:
true false
说明:
第一个样例: 第一组:5 -5 1 第二组:1 第二个样例:由于3和5不能放在同一组,所以不存在一种分法。
解题思路:
这题可以用递归解决。首先输入n个数字,将5的倍数和3的倍数分别累加得到sum3和sum5,其他的数字放在容器v中;用add函数进行递归,单个数字从容器中提出来加到sum3或者sum5中,以此类推,直到所有数字都加进去了;之后,判断sum3和sum5是否一致,然后一级级返回标识符即可。
测试代码:
#include <iostream>
#include <string>
#include <vector>using namespace std;bool add(int sum5,int sum3,vector<int> v)
{if(v.size()==0){if(sum5==sum3)return true;elsereturn false;}else{int b=v.back();v.pop_back();return add(sum5+b,sum3,v)||add(sum5,sum3+b,v);}
}int main()
{int num;while(cin>>num){int sum3=0;int sum5=0;vector<int> v;for(int i=0;i<num;++i){int temp;cin>>temp;if(temp%5==0)sum5+=temp;else if(temp%3==0)sum3+=temp;elsev.push_back(temp);}if(add(sum5,sum3,v))cout<<"true"<<endl;elsecout<<"false"<<endl;}return 0;
}
华为机试HJ93:数组分组相关推荐
- 【华为机试真题 Python实现】数组拼接
文章目录 前言 题目描述 示例 1 参考代码 前言 <华为机试真题>专栏含牛客网华为专栏.华为面经试题.华为OD机试真题. 如果您在准备华为的面试,期间有想了解的可以私信我,我会尽可能帮您 ...
- Java算法:华为机试算法(下),华为算法Java版,牛客网华为算法73~108题
接上篇:Java算法:华为机试算法(中),华为算法Java版,牛客网华为算法55~72题 HJ73 计算日期到天数转换 计算日期到天数转换 题目描述 根据输入的日期,计算是这一年的第几天.. 测试 ...
- 华为机试108题(C 语言解答)
Nowcoder题库链接:华为机试 HJ1 字符串最后一个单词的长度(字符串) 输入:hello nowcoder输出:8说明: 最后一个单词为nowcoder,长度为8 示例代码: HJ1.c #i ...
- (python)牛客网(华为机试四)——较难
本博客为博主解题的部分记录,由于均为自己写的,所以答案并非最优解,有很多地方可以优化. 其他题解合集: (python)牛客网(华为机试一)--入门 (python)牛客网(华为机试二)--简单 (p ...
- 【华为机试 Python实现】华为机试题集合(已更新171篇)
文章目录 新手指引 数据结构基础 华为机试真题系列 牛客网华为机试系列 Python 八股文系列 <华为机试真题详解>专栏定价99.9 包含 <华为机试真题>的所有题目. 包含 ...
- 【强烈推荐收藏】坚持3个月爆肝华为机试108题C++全解(适合新手入门,就业必刷套题)
作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 前言 金九银十,金三银四.当前正处于校招.社招的火热期,之前就想为正在筹备就业的同学们准备刷题宝 ...
- 【华为机试】死记硬背没思路?一般人我劝你还是算了吧
大家好,我是哪吒. 五月份之前,如果你参加华为OD机试,收到的应该是2022Q4或2023Q1,这两个都是A卷题. 5月10日之后,很多小伙伴收到的是B卷,那么恭喜你看到本文了,抓紧刷题吧.B卷新题库 ...
- 牛客网–华为机试在线训练4:字符串分隔
牛客网–华为机试在线训练4:字符串分隔 题目描述 •连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组: •长度不是8整数倍的字符串请在后面补数字0,空字符串不处理. 输入描述: 连续输 ...
- 【To Debug】牛客网--华为机试在线训练3:明明的随机数
牛客网–华为机试在线训练3:明明的随机数 题目描述 明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字, ...
最新文章
- 【翻译】24款界面精美的免费UI工具包
- asp.net core 中间件详解及项目实战
- 前后对接数字几_开源数字货币交易所开发学习笔记(1)——系统架构
- 陕西省2021年高考成绩结果查询,陕西招生考试信息网:2021年陕西高考成绩查询入口、查分系统...
- 程序员一定要提升技术之外的能力
- CTF之文件包含的猥琐思路
- Delphi 与 DirectX 之 DelphiX(94): TDIB.DrawAdditive();
- 海湾监控计算机,海湾GST-DH9300电气火灾监控图形显示系统软件
- 2021 自编译最新稳定版 裴讯 Phicomm K2 Openwrt 固件
- Excel提示:您的组织策略阻止我们为您完成此操作
- excel 公式和函数
- GRU 详解+实战(生成汪峰感觉的歌词)
- mysql结果作为另一次查询_MySql中一次查询结果用作二次查询条件
- java 将json转成utf 8_C# JSON转换以及编码转换
- Linux系统下tmux的分屏使用
- 无人驾驶小车调试笔记(六)-- 车轮校准
- 使用vue编写登录页面详细过程
- 紫乌鸦服务器维护后多久刷,魔兽世界:9.0卡这个技巧,10分钟5只稀有坐骑,紫乌鸦惑龙入手!...
- 兼容ie浏览器代码处理
- 数字视频处理(五)——频率域陷波滤波