题意:有蓝色、紫罗兰、橘黄色三种颜色盒子,你可以选择任意两个相同颜色的盒子将它们变成一个其它颜色的盒子。现在给出初始拥有的盒子数a,b,c,问你能否得到盒子数x,y,z。
思路:暴力下就可以了。
AC代码:
#include <cstdio>
#include <cstring>
#include <cmath>
#include <cstdlib>
#include <algorithm>
#include <queue>
#include <stack>
#include <map>
#include <set>
#include <vector>
#define INF 0x3f3f3f3f
#define eps 1e-8
#define MAXN (200+10)
#define MAXM (100000)
#define Ri(a) scanf("%d", &a)
#define Rl(a) scanf("%lld", &a)
#define Rf(a) scanf("%lf", &a)
#define Rs(a) scanf("%s", a)
#define Pi(a) printf("%d\n", (a))
#define Pf(a) printf("%.2lf\n", (a))
#define Pl(a) printf("%lld\n", (a))
#define Ps(a) printf("%s\n", (a))
#define W(a) while(a--)
#define CLR(a, b) memset(a, (b), sizeof(a))
#define MOD 1000000007
#define LL long long
#define lson o<<1, l, mid
#define rson o<<1|1, mid+1, r
#define ll o<<1
#define rr o<<1|1
using namespace std;
int main()
{
int a, b, c;
int x, y, z;
Ri(a); Ri(b); Ri(c);
Ri(x); Ri(y); Ri(z);
int a1 = a - x;
int b1 = b - y;
int c1 = c - z;
int have = 0, need = 0;
if(a1 > 0)
have += a1 / 2;
else
need += -a1;
if(b1 > 0)
have += b1 / 2;
else
need += -b1;
if(c1 > 0)
have += c1 / 2;
else
need += -c1;
printf(have >= need ? "Yes\n" : "No\n");
return 0;
}