【bzoj 十连测】[noip2016十连测第四场]Problem A: 天空龙(数学相关)

Problem A: [noip2016十连测第四场]天空龙

Time Limit: 10 Sec   Memory Limit: 512 MB
Submit: 43   Solved: 33
[ Submit][ Status][ Web Board]

Description

奥西里斯之天空龙很喜欢颜色,有一天他找到了三种颜色——红黄蓝。奥西里斯有a个红色,b个黄色,c个蓝色,
他想用画出最好的画,可是需要至少x个红色,y个黄色和z个蓝色,似乎并不够。别担心,奥西里斯会魔法!他可
以把任何两个同种颜色转化为一个另一种颜色!请问他能不能完成呢?

Input

第一行一个正整数t表示数据组数。
接下来t行每行六个整数分别表示a,b,c,x,y,z。
对于100%的数据t<=100,0<=a,b,c,x,y,z<=1000000

Output

每组数据输出一行,如果可以就输出“YES”,否则输出“NO”。

Sample Input

3
4 4 0 2 1 2
5 6 1 2 7 2
3 3 3 2 2 2

Sample Output

YES
NO
YES

HINT

【题解】【水题】 
【不过有一个小坑:每个数多出来的部分要单独计算,把多出来的部分/2能得到的新颜色加入计数器,并与总共缺少的颜色相比】
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int a,b,c,x,y,z,m,l,t;
int main()
{
    int i;
    scanf("%d",&t);
    while(t--)
     {
        scanf("%d%d%d%d%d%d",&a,&b,&c,&x,&y,&z);
        if(a>x) m+=(a-x)/2;
         else l+=(x-a);
        if(b>y) m+=(b-y)/2;
         else l+=(y-b);
        if(c>z) m+=(c-z)/2;
         else l+=(z-c);
        if(m>=l) printf("YES\n");
         else printf("NO\n");
        m=0; l=0;
     }
    return 0;
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值