Задача {[(<накодившего_немало_работающЕго_софта>)]}
Автор задачи: Андрей Гайдель
Первоисточник: -
URL первоисточника: -
Задачу добавил: LGR
Успешно сдано решений: 26
3008 год. Земляне наконец-то решили написать Единый компилятор и ввести единый язык программирования. Написание разных частей компилятора поручили различным программистам. Одному программисту, известному в узких кругах под ником {[(<нАкодивший_немало_работающего_софта>)]} поручили написать маленькую часть синтаксического анализатора, проверяющую правильность расстановки скобок. К несчастью, он сейчас занят работой над форумом, и поэтому эту задачу надо будет выполнить Вам!
Скобки в новом языке бывают четырёх типов: круглые: “( )”, квадратные: “[ ]”, фигурные: “{ }” и угловые “< >”. Определим правильную последовательность скобок. Пустая последовательность – правильная. Правильная последовательность, взятая в скобки одного типа также правильная. Если к правильной последовательности справа или слева дописать ещё одну правильную последовательность, получится правильная последовательность. Вот например, ник Программиста - правильная последовательность. Решите задачу {[(<накодившего_немаЛо_работающего_софта>)]}.
Входные данные
В первой строке файла input.txt содержит N (1 <= N <= 100). В следующих N строках содержатся непустые скобочные выражения, каждое из которых может содержать символы (){}[]<> (и только их). Размер входного файла не превосходит 100КБ.
Выходные данные
Файл output.txt должен содержать ответ для каждой строки - слово YES, если скобки в соответствующей строке расставлены правильно, или NO иначе.
Пример
input.txt
3
({[<>]})
{((((())))){}[]}
{{[}]}
output.txt
YES
YES
NO
Примечание
Все события и имена вымышленные. Любое совпадение – чистая случайность.