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

Задача . A. Двоичный дисбаланс


Задача

Темы: Конструктив *800

Вам дана строка \(s\), состоящая только из символов '0' и/или '1'.

За одну операцию вы выбираете позицию \(i\) от \(1\) до \(|s| - 1\), где \(|s|\) — текущая длина строки \(s\). Затем вы вставляете символ между \(i\)-м и \((i+1)\)-м символами строки \(s\). Если \(s_i = s_{i+1}\), вы вставляете '1'. Если \(s_i \neq s_{i+1}\), вы вставляете '0'.

Возможно ли сделать количество нулей в строке строго больше количества единиц, используя любое количество операций (возможно, ни одной)?

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

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

В первой строке каждого набора входных данных записано одно целое число \(n\) (\(1 \le n \le 100\)).

Во второй строке записана строка \(s\) длиной ровно \(n\), состоящая только из символов '0' и/или '1'.

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

На каждый набор входных данных выведите «YES», если возможно сделать количество нулей в \(s\) строго больше количества единиц, используя любое количество операций (возможно, ни одной). В противном случае выведите «NO».

Примечание

В первом наборе входных данных количество нулей уже больше количества единиц.

Во втором наборе невозможно вставить ни одного нуля в строку.

В третьем наборе вы можете выбрать \(i = 1\), чтобы вставить ноль между \(1\)-м и \(2\)-м символами. Так как \(s_1 \neq s_2\), вставляется '0'. Получившаяся строка — «100». В ней два нуля и только одна единица, так что ответ «YES».


Примеры
Входные данныеВыходные данные
1 3
2
00
2
11
2
10
YES
NO
YES

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

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