CF1574B Combinatorics Homework

题目描述

给定四个整数 $a$、$b$、$c$ 和 $m$。 请判断是否存在一个字符串,满足以下条件: - 包含 $a$ 个字母 'A'; - 包含 $b$ 个字母 'B'; - 包含 $c$ 个字母 'C'; - 不包含其他字母; - 恰好有 $m$ 对相邻且相同的字母(即恰好有 $m$ 个位置 $i$,使得第 $i$ 个字母与第 $i+1$ 个字母相同)。

输入格式

第一行包含一个整数 $t$($1 \le t \le 10^4$),表示测试用例的数量。 接下来的 $t$ 行,每行包含四个整数 $a$、$b$、$c$ 和 $m$($1 \le a, b, c \le 10^8$;$0 \le m \le 10^8$),描述一个测试用例。

输出格式

对于每个测试用例,如果存在满足条件的字符串,输出 "YES";否则输出 "NO"。 你可以用任意大小写输出答案(例如 yEs、yes、Yes 和 YES 都视为正确)。

说明/提示

在第一个测试用例中,字符串 "ABCAB" 或 "BCABA" 满足要求。也存在其他可能的字符串。 在第二个测试用例中,如果没有至少出现两次的字母,则无法形成相邻相同的字母对。 在第三个测试用例中,字符串 "CABBCC" 满足要求。也存在其他可能的字符串。 由 ChatGPT 4.1 翻译