CF1675A Food for Animals

题目大意

这道题的翻译:

  • a a a 袋狗粮
  • b b b 袋猫粮
  • c c c 袋通用粮

现在有 x x x 只狗, y y y 只猫,请问粮食够不够(一只猫动物至少吃一袋粮食)

思路

一道贪心题。我们可以优先选一种动物,让他们各吃一份,再轮到下一种动物。这样会避免出现实际是够的,但是一种动物把所有食物都吃光,其他动物没得吃了。

实现

  1. 输入数据组数。
  2. 预计猫够不够吃,如果不够吃,输出no,进入下一组。,否则继续计算。
  3. 先喂猫吃,让猫吃一份,如果这时狗没吃的,输no,进入下一组。
  4. 最后如果还没跳走,输出yes,结束这一组。

代码

#include <bits/stdc++.h>
using namespace std;
int main(){
    ios::sync_with_stdio(false);
    int t;
    cin >> t;//输入组数
    while (t--) {
    	int a, b, c, x, y;
    	cin >> a >> b >> c >> x >> y;
    	if (y > (b + c)) {//判断猫够不够吃
    		cout << "NO\n";
    		continue;//到下一组
		}
		if (b >= y) b -= y;//让猫吃
		else c -= (y - b), b = 0;
		if (x > (a + c)) {//如果狗不够吃
			cout << "NO\n";
			continue;//到下一组
		}
		cout << "YES\n";//完美输出
	}
    return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值