Codeforse 1152A Neko Finds Grapes

文章讲述了Neko面临的解谜问题,涉及奇偶性匹配的计算。通过统计a中的奇数和偶数,以及b中的对应奇偶数,找到最少的奇偶组合数作为答案。代码展示了如何使用C++实现这个简单的算法。
摘要由CSDN通过智能技术生成
题目描述

Neko有n个宝箱和m个钥匙,第i个箱子上写有整数ai​,第j个宝箱上写有整数bj​,Neko想要打开尽量多的宝箱。

第j个小时可以被用来打开第i个宝箱当且仅当ai​与bj​的和为奇数。一个钥匙最多仅能配对一个箱子,一个箱子最多被打开一次

请你告诉Neko他最多能打开多少个箱子。

输入&输出

第一行包括整数n和m,其中(1≤n,m≤100000)

第二行包括n个整数a1​ ,a2​ ,a3​ ......an​(1≤ai​≤1000000000)

第三行包括m个整数b1​ ,b2​ ,b3

题解

小学生知识点:奇数+偶数=奇数

所以:找出a中奇数与b中偶数最小值,找出a中偶数与b中奇数最小值,两者相加便是答案了

愉快的水题又AC了!

代码如下:​
#include <bits/stdc++.h>
using namespace std;
int n, m, a[10], b[10], tmp;

int main() {
	cin >> n >> m;
	for (int i = 1; i <= n; i++) {
		cin >> tmp;
		a[tmp % 2]++;//统计a中的奇偶数
	}
	for (int i = 1; i <= m; i++) {
		cin >> tmp;
		b[tmp % 2]++;//b的也一样写一遍
	}
	cout << min(b[0], a[1]) + min(a[0], b[1]);//求出值
	return 0;
}

  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值