您的位置:首页 > 其它

【九度OJ】题目1169:比较奇偶数个数 解题报告

2017-03-17 15:59 459 查看

【九度OJ】题目1169:比较奇偶数个数 解题报告

标签(空格分隔): 九度OJ

http://ac.jobdu.com/problem.php?pid=1169

题目描述:

第一行输入一个数,为n,第二行输入n个数,这n个数中,如果偶数比奇数多,输出NO,否则输出YES。

输入:

输入有多组数据。

每组输入n,然后输入n个整数(1<=n<=1000)。

输出:

如果偶数比奇数多,输出NO,否则输出YES。

样例输入:

5
1 5 2 4 3


样例输出:

YES


Ways

很简单的题,只要统计奇数和偶数的个数即可。

用了一个技巧,判断一个数是否是奇数可以直接:
(nums[i] & 1) != 0
,位运算速度很快。

另外,memset函数要导入库
#include <cstring>


#include<stdio.h>
#include <cstring>

int main() {
int n;
while (scanf("%d", &n) != EOF) {
int count[2];//0放偶,1放奇
memset(count, 0, sizeof(count));
int nums[1000];
for (int i = 0; i < n; i++) {
scanf("%d", &nums[i]);
}
for (int i = 0; i < n; i++) {
if ((nums[i] & 1) != 0) {//奇数
count[1]++;
} else {
count[0]++;
}
}
if (count[0] > count[1]) {
printf("NO\n");
} else {
printf("YES\n");
}
}

return 0;
}


Date

2017 年 3 月 17 日
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: