#1077. 相邻二元组
相邻二元组
题目描述
一个字符串的 相邻二元组 是指由两个相邻字符组成的子串。例如,字符串 helloello 包含 个 相邻二元组:he、el、ll、lo、oe、el、ll、lo。
Monocarp 有一些写有拉丁字母的卡片:有 张写着字母表的第 个字母(a), 张写着字母表的第 个字母(b),……, 张写着字母表的第 个字母。
他想用这些卡片拼成一个字符串,并且每张卡片恰好使用一次。要求最终拼成的字符串中至少包含两个相同的相邻二元组。请注意,相邻二元组 中字符的顺序是有区分的,例如,字符串 aba 并不包含两个相同的 相邻二元组(它的 相邻二元组 分别是 ab 和 ba)。
请你判断是否有可能拼出满足上述条件的字符串。
输入格式
第一行包含一个整数 ()—— 测试用例的数量。
对于每个测试用例:
- 第一行包含一个整数 ()—— 字母种类的数量。
- 第二行包含 个整数 ()—— 其中 表示第 种字母卡片的数量。
输出格式
对于每个测试用例,如果能够拼出满足条件的字符串,输出 YES;否则输出 NO。
样例输入 1
7
1
1
1
3
1
4
2
2 1
2
3 2
3
1 1 2
4
1 1 2 2
样例输出 1
NO
YES
YES
NO
YES
NO
YES
说明
样例解释
- 在第一个测试用例中,只能拼出字符串
a,其中不包含任何 相邻二元组,因此无法满足条件。 - 在第二个测试用例中,可以拼出字符串
aaa,其中包含两个相同的 相邻二元组aa。 - 在第三个测试用例中,可以拼出字符串
aaaa,其中包含三个相同的 相邻二元组aa。 - 在第四个测试用例中,你可以拼出的字符串有
aab、aba或baa。它们都不包含两个相同的 相邻二元组。 - 在第五个测试用例中,你可以拼出字符串
aabab,其中包含两个相同的 相邻二元组ab。
数据范围
- 对于所有测试点,保证 。
- 对于每个测试用例,保证 。
- 对于每个测试用例,保证 。
- 保证所有的输入数值均为整数。