Олимпиадный тренинг

Задача . C. Похожие пары


Назовем два числа \(x\) и \(y\) похожими, если они имеют одинаковую четность (одинаковый остаток при делении на \(2\)), или если \(|x-y|=1\). Например, в каждой из пар \((2, 6)\), \((4, 3)\), \((11, 7)\) числа похожи между собой, а в парах \((1, 4)\), \((3, 12)\) — нет.

Вам дан массив \(a\) из \(n\) (число \(n\) четно) целых положительных чисел. Проверьте, существует ли такое разбиение массива на пары, что каждый элемент массива принадлежит ровно одной паре, и в каждой паре числа похожи между собой.

Например для массива \(a = [11, 14, 16, 12]\) существует разбиение на пары \((11, 12)\) и \((14, 16)\). Числа в первой паре похожи, потому что модуль их разности равен единице, а во второй паре — потому что они оба четные.

Входные данные

В первой строке записано одно целое число \(t\) (\(1 \le t \le 1000\)) — количество наборов тестовых данных в тесте. Далее следуют \(t\) наборов тестовых данных.

Каждый набор задается двумя строками. В первой строке записано четное целое число \(n\) (\(2 \le n \le 50\)) — длина массива \(a\).

Во второй строке записано \(n\) целых чисел \(a_1, a_2, \dots, a_n\) (\(1 \le a_i \le 100\)).

Выходные данные

Для каждого набора тестовых данных выведите:

  • YES, если разбиение существует;
  • NO, если разбиения не существует.

Буквы в словах YES и NO можно выводить в любом регистре.

Примечание

Первый набор тестовых данных примера разобран в условии.

Во втором наборе два заданных числа не являются похожими.

В третьем наборе подходит любое разбиение.


Примеры
Входные данныеВыходные данные
1 7
4
11 14 16 12
2
1 8
4
1 1 1 1
4
1 2 5 6
2
12 13
6
1 6 3 10 5 8
6
1 12 3 10 5 8
YES
NO
YES
YES
YES
YES
NO

time 2000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя