首页 > 试题广场 >

小红的括号串

[编程题]小红的括号串
  • 热度指数:10 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
\,\,\,\,\,\,\,\,\,\,如果在括号序列中插入字符 \tt +\tt 1 就可以得到正确的算术表达式,那么这个括号序列就称为合法的括号序列。例如,""、"\tt (())" 和 "\tt ()()" 是合法的括号序列,因为填入内容后可以表示为 ((1))(1)+(1) ,这都是合法的。
\,\,\,\,\,\,\,\,\,\,现在小红有 a 个 "\tt((" ,b 个 "\tt ))" ,c 个 "\tt()" ,d 个 "\tt )(" 。小红想知道能否将这些括号串连成一个合法的括号序列。
\,\,\,\,\,\,\,\,\,\,你可以阅读样例解释获得更多信息。

输入描述:
\,\,\,\,\,\,\,\,\,\,每个测试文件均包含多组测试数据。第一行输入一个整数 T\left(1 \leq T \leq 10^5\right) 代表数据组数,每组测试数据描述如下:
\,\,\,\,\,\,\,\,\,\,在一行上输入四个整数 a,b,c,d\left(0 \leq a, b, c, d \leq 10^9\right) 代表小红的括号序列。


输出描述:
\,\,\,\,\,\,\,\,\,\,对于每组数据,如果能够将这些括号串连成一个合法的括号序列,在一行上输出 \rm YES ,否则输出 \rm NO 。
示例1

输入

2
1 1 1 1
1 2 1 1

输出

YES
NO

说明

\,\,\,\,\,\,\,\,\,\,对于第一组测试数据,可以按照如下顺序拼接 "\tt ((" + "\tt )(" + "\tt ))" + "\tt()" ,填入内容后可以表示为 ((1)+(1))+(1) ,这是一个合法的括号序列。