CF 335 div.2-A/606A Magic Spheres(读错题意系列)

题目链接:http://codeforces.com/problemset/problem/606/A

题意:有蓝、紫、橙三种颜色的小球,已知各有a,b,c个,现在想要得到至少x,y,z个,其中有一个转换规则,就是消耗两个相同颜色的小球可以得到一个其他颜色的小球。给定a、b、c和x、y、z,求是否能得到想要的结果。

解:首先,读错题意系列,如果a>x&&b>y&&c>z的话,就是Yes。

否则,如果有一种颜色有少的,假设一共少m个,就是说,至少要进行m次转换。

又因为每次转换需要消耗两个相同颜色的小球,所以,计算每个颜色比最低要求多的数目,然后让这个数整除2,把所得到的相加,

若>=m,则是Yes,否则就是No。


#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
using namespace std;
int main()
{
	//freopen("input.txt", "r", stdin);
	int a[3], x[3], ans = 0;
	for (int i = 0; i < 3; ++i)
		scanf("%d", &a[i]);
	for (int i = 0; i < 3; ++i)
	{
		scanf("%d", &x[i]);
		if (a[i] - x[i] < 0)
			ans += a[i] - x[i];
		else
			ans += (a[i] - x[i]) / 2;
	}
	if (ans < 0)
		printf("No\n");
	else
		printf("Yes\n");
	//system("pause");
	//while (1);
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值