Вам даны две строки $$$a$$$ и $$$b$$$ одинаковой длины, состоящих только из символов 0 и/или 1; обе строки начинаются с символа 0 и заканчиваются символом 1.
Вы можете применять следующую операцию любое количество раз (возможно ноль раз):
Формально, вы выбираете одну из двух строк (обозначим ее как $$$s$$$), затем выбираете два символа $$$l$$$ и $$$r$$$, такие, что $$$1 \le l < r \le |s|$$$ и $$$s_l = s_r$$$, затем заменяете все символы $$$s_i$$$, такие что $$$l < i < r$$$ на $$$s_l$$$.
Например, если выбранная строка это 010101, вы можете превратить ее в описанные ниже строки за одну операцию:
Вам нужно определить, можно ли сделать эти две строки одинаковыми при помощи применения к ним любого количества описанной выше операции.
Первая строка содержит одно число $$$t$$$ ($$$1 \le t \le 2000$$$) — количество наборов входных данных.
Каждый набор входных данных содержит две строки:
Дополнительные ограничения на входные данные:
Для каждого набора входных данных выведите YES, если возможно сделать строки равными. Иначе выведите NO. Символы в ответе могут быть в любом регистре.
7010100010111010101001010010001010101110000101111011001001001011011010001011011
YES YES YES NO NO NO YES
В первом наборе входных данных мы можем выполнить следующие операции:
Во втором наборе входных данных строки уже равны.
В третьем наборе входных данных мы можем выполнить следующие операции:
В четвертом и пятом наборах входных данных невозможно сделать строки равными.
Название |
---|