华为OJ——201301 JAVA题目0-1级
来源:互联网 发布:nike官网抢鞋软件 编辑:程序博客网 时间:2024/05/21 17:49
201301 JAVA题目0-1级
题目描述
编写一个函数,传入一个int型数组,返回该数组能否分成两组,使得两组中各元素加起来的和相等,并且,所有5的倍数必须在其中一个组中,所有3的倍数在另一个组中(不包括5的倍数),能满足以上条件,返回true;不满足时返回false。
输入描述:
第一行是数据个数,第二行是输入的数据
输出描述:
返回true或者false
输入例子:
4
1 5 -5 1
输出例子:
true
解答代码:
#include<iostream>#include<fstream>#include<string>#include<cstring>#include<algorithm>#include<sstream>#include<cmath>using namespace std;int main(){ int data;int i,j,n;while(cin >> n){int sum=0 , sum_5=0 , sum_3=0 , sum_other=0 , positive=0 , negative=0 , temp=0 , dis=0;for(i=0;i<n;i++){cin >> data;sum+=data;if(data % 5 == 0)sum_5 += data;else if(data % 3 == 0)sum_3 += data;else{if(data > 0)positive+=data;elsenegative+=data;sum_other+=data;}}dis=abs(sum_5 - sum_3);if((sum_other-dis) %2 ==0){temp=sum/2;if(temp==(sum_3 + sum_other - ( temp - sum_5 ))){if(temp-sum_5>=0 && positive>=temp-sum_5 || temp-sum_5<0 && negative<= temp-sum_5)cout<<"true"<<endl;elsecout<<"false"<<endl;}else{cout<<"false"<<endl;}}else{cout<<"false"<<endl;}}return 0;}
0 0
- 华为OJ——201301 JAVA题目0-1级
- 华为OJ 201301 JAVA题目0-1级
- 201301 JAVA题目0-1级 华为OJ
- 【华为OJ】201301 JAVA 题目0-1级
- 华为oj 201301 JAVA题目0-1级
- 【华为OJ】【104-201301JAVA题目0-1级】
- 华为OJ 初级:201301 JAVA题目0-1级
- 【华为OJ】201301 JAVA题目0-1级
- 华为oj初级 201301 JAVA题目0-1级
- 华为OJ——201301 JAVA 题目2-3级
- 华为OJ——201301 JAVA 题目2-3级(棋盘走法)
- 【华为OJ】【059-201301-JAVA-题目2-3级】
- 华为oj中级 201301 JAVA 题目2-3级
- OJ-----201301 JAVA题目0-1级
- 华为oj初级题目——合唱队
- 华为oj题目 DNA序列 [java语言]
- 华为OJ题目 句子逆序 java
- 华为oj题目(java版)
- HDU 5832 A water problem (水题)
- Codeforces(653A)
- MySQL一段时间学习总结
- Service Plugin / Agent - 每天5分钟玩转 OpenStack(73)
- C++ STL算法系列2---find ,find_first_of , find_if , adjacent_find的使用
- 华为OJ——201301 JAVA题目0-1级
- LeetCode 118. Pascal's Triangle
- CSS控制文字只显示一行,超出部分显示省略号
- CCF认证模拟之最大的矩形
- 华为OJ——记票统计
- Java大牛 博客
- MySQL各种日志文件
- ZMQ Guide学习笔记(1)--模式简介
- Java 语法总结