作者:翟天保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:数组分组相关推荐

  1. 【华为机试真题 Python实现】数组拼接

    文章目录 前言 题目描述 示例 1 参考代码 前言 <华为机试真题>专栏含牛客网华为专栏.华为面经试题.华为OD机试真题. 如果您在准备华为的面试,期间有想了解的可以私信我,我会尽可能帮您 ...

  2. Java算法:华为机试算法(下),华为算法Java版,牛客网华为算法73~108题

    接上篇:Java算法:华为机试算法(中),华为算法Java版,牛客网华为算法55~72题   HJ73 计算日期到天数转换 计算日期到天数转换 题目描述 根据输入的日期,计算是这一年的第几天.. 测试 ...

  3. 华为机试108题(C 语言解答)

    Nowcoder题库链接:华为机试 HJ1 字符串最后一个单词的长度(字符串) 输入:hello nowcoder输出:8说明: 最后一个单词为nowcoder,长度为8 示例代码: HJ1.c #i ...

  4. (python)牛客网(华为机试四)——较难

    本博客为博主解题的部分记录,由于均为自己写的,所以答案并非最优解,有很多地方可以优化. 其他题解合集: (python)牛客网(华为机试一)--入门 (python)牛客网(华为机试二)--简单 (p ...

  5. 【华为机试 Python实现】华为机试题集合(已更新171篇)

    文章目录 新手指引 数据结构基础 华为机试真题系列 牛客网华为机试系列 Python 八股文系列 <华为机试真题详解>专栏定价99.9 包含 <华为机试真题>的所有题目. 包含 ...

  6. 【强烈推荐收藏】坚持3个月爆肝华为机试108题C++全解(适合新手入门,就业必刷套题)

    作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 前言 金九银十,金三银四.当前正处于校招.社招的火热期,之前就想为正在筹备就业的同学们准备刷题宝 ...

  7. 【华为机试】死记硬背没思路?一般人我劝你还是算了吧

    大家好,我是哪吒. 五月份之前,如果你参加华为OD机试,收到的应该是2022Q4或2023Q1,这两个都是A卷题. 5月10日之后,很多小伙伴收到的是B卷,那么恭喜你看到本文了,抓紧刷题吧.B卷新题库 ...

  8. 牛客网–华为机试在线训练4:字符串分隔

    牛客网–华为机试在线训练4:字符串分隔 题目描述 •连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组: •长度不是8整数倍的字符串请在后面补数字0,空字符串不处理. 输入描述: 连续输 ...

  9. 【To Debug】牛客网--华为机试在线训练3:明明的随机数

    牛客网–华为机试在线训练3:明明的随机数 题目描述 明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字, ...

最新文章

  1. 【翻译】24款界面精美的免费UI工具包
  2. asp.net core 中间件详解及项目实战
  3. 前后对接数字几_开源数字货币交易所开发学习笔记(1)——系统架构
  4. 陕西省2021年高考成绩结果查询,陕西招生考试信息网:2021年陕西高考成绩查询入口、查分系统...
  5. 程序员一定要提升技术之外的能力
  6. CTF之文件包含的猥琐思路
  7. Delphi 与 DirectX 之 DelphiX(94): TDIB.DrawAdditive();
  8. 海湾监控计算机,海湾GST-DH9300电气火灾监控图形显示系统软件
  9. 2021 自编译最新稳定版 裴讯 Phicomm K2 Openwrt 固件
  10. Excel提示:您的组织策略阻止我们为您完成此操作
  11. excel 公式和函数
  12. GRU 详解+实战(生成汪峰感觉的歌词)
  13. mysql结果作为另一次查询_MySql中一次查询结果用作二次查询条件
  14. java 将json转成utf 8_C# JSON转换以及编码转换
  15. Linux系统下tmux的分屏使用
  16. 无人驾驶小车调试笔记(六)-- 车轮校准
  17. 使用vue编写登录页面详细过程
  18. 紫乌鸦服务器维护后多久刷,魔兽世界:9.0卡这个技巧,10分钟5只稀有坐骑,紫乌鸦惑龙入手!...
  19. 兼容ie浏览器代码处理
  20. 数字视频处理(五)——频率域陷波滤波

热门文章

  1. Hadoop完全分布式安装Kafka
  2. Know more about _in_memory_undo
  3. 云端部署大数据解决方案该用IaaS还是PaaS?
  4. 【架构】研究谷歌和亚马逊的微服务案例,我们能学习到的经验
  5. elasticsearch体验(一.初识elasticsearch)
  6. 乔布斯在斯丹佛毕业典礼上的讲话(二)
  7. [导入]一个很有个性的网站??
  8. OpenResty缓存
  9. 11-7 无底洞问题
  10. 计算机与管理科学的交叉与融合,计算机信息管理学科交叉融合研究论文