#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef vector<int> vi;
typedef vector<long long> vll;
typedef pair<int, int> pii;
typedef pair<long long, long long> pll;
#define debug printf("(hao)")
#define all(x) x.begin(), x.end()
#define rep(i, a, b) for (int i = (a); i < (b); i++)
#define clr(a, v) memset(a, v, sizeof(a))
void solve() {//方法一
// int n;
ll a, b, n, m;
scanf("%lld%lld%lld%lld", &a, &b, &n, &m);
if (a + b < n + m) printf("No\n"); //判断总数够不够吃,不够吃就No
else {
ll Min = min(a, b); //寻找最小的一堆食物
if (Min >= m) printf("Yes\n"); // 最少的够第二类人吃
else printf("No\n"); //最少的不够第二类人吃
}
}
void solve2() {//方法二
// int n;
ll a, b, n, m;
scanf("%lld%lld%lld%lld", &a, &b, &n, &m);
if (a + b < n + m) printf("No\n");
else {
ll temp = min(n, m), tmin = min(a, b);
if (tmin >= temp) { //如果人先出现0,即第二种可能
a -= temp, b -= temp, n -= temp, m -= temp;//全部均掉简化
if (m == 0) printf("Yes\n");//第二类人为0
else { //还有第二类人剩下
if (min(a, b) >= m) printf("Yes\n");
else printf("No\n");
}
} else printf("No\n"); //食物先出现0,即上述第一种可能
}
}
// #define LOCAL
int main() {
std::ios::sync_with_stdio(false);
#ifndef ONLINE_JUDGE
freopen("test.in", "r", stdin);
freopen("test.out", "w", stdout);
#endif
int T;
scanf("%d", &T);
while (T--) {
solve();
// solve2();
}
return 0;
}
654 div2 problemC. A Cookie for You题解(数学 + 思维 + 模拟)
传送门题意有 a 个 饼干,和 b 个巧克力有 n 个 第一类人,有 m 个第二类人对于第一类人, if (a > b)吃一个饼干,else 吃一个巧克力对于第二类人, if (a > b)吃一个巧克力,else 吃一个饼干问你是否有一种方法能让第一类和第二类人都有东西吃,有输出Yes,否则输出No思考很显然第一类人优先吃多的(一样多就吃巧克力),第二类人优先吃少的(一样多就吃饼干)有两种思路,一个是我自己比赛时想到的,一个是x大佬讲的方法一一来就判断饼干和巧