zoukankan      html  css  js  c++  java
  • [20191003机房测试] 天空龙

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

    这题目描述让我感受到面对机翻的恐惧……
    这又不是外语翻译过来的啊喂!什么语文水平?

    很显然,如果有多余的颜色,把它们分别÷2,就是可以转换的数量
    然后再与差的颜色比较,得出答案

    代码:

    #include<bits/stdc++.h>
    using namespace std;
    
    int T,delta,need;
    struct Color
    {
    	int x,y;
    }a[5];
    
    bool cmp(Color a,Color b) {return (a.x-a.y)>(b.x-b.y);}
    
    template<class T>inline void read(T &res)
    {
    	char c;T flag=1;
    	while((c=getchar())<'0'||c>'9')if(c=='-')flag=-1;res=c-'0';
    	while((c=getchar())>='0'&&c<='9')res=res*10+c-'0';res*=flag;
    }
    
    int main()
    {
    	freopen("osiris.in","r",stdin);
    	freopen("osiris.out","w",stdout);
    	read(T);
    	while(T--)
    	{
    		delta=need=0;
    		for(register int i=1;i<=3;++i) read(a[i].x);
    		for(register int i=1;i<=3;++i) read(a[i].y);
    		for(register int i=1;i<=3;++i)
    			if(a[i].x>a[i].y)
    				delta+=(a[i].x-a[i].y)>>1;
    		for(register int i=1;i<=3;++i)
    			if(a[i].x<=a[i].y)
    				need+=a[i].y-a[i].x;
    		if(delta>=need) puts("YES");
    		else puts("NO");
    	}
    	return 0;
    }
    
  • 相关阅读:
    04_web基础(六)之请求转发与重定向
    04_web基础(五)之cookie与session
    04_web基础(四)之servlet详解
    04_web基础(三)之进一步理解web
    04_web基础(二)之web构建
    本地密码提取工具-LAZAGNE
    免杀工具汇总
    流量取证-提取文件
    CA证书安装以及sslh协议转发
    ssh 端口转发
  • 原文地址:https://www.cnblogs.com/tqr06/p/11619760.html
Copyright © 2011-2022 走看看