В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
Dion111
Dion111
12.11.2020 23:35 •  Информатика

Назовём скобочную последовательность, состоящую из трёх видов скобок (круглых, квадратных или фигурных) , если она может быть построена по следующим правилам:

пустая последовательность является правильной.

если

a

— правильная скобочная последовательность, то

{

a

}

,

[

a

]

и

(

a

)

— правильные скобочные последовательности.

если

a

и

b

— правильная скобочная последовательность, то

a

b

— правильная скобочная последовательность.

иначе говоря, правильная скобочная последовательность получается, если мы берём какое-то выражение с корректно расставленными скобками и убираем оттуда всё, кроме скобок.

вам дана скобочная последовательность длины

n

. вам разрешено вставлять скобки в любое место последовательности (в начало, в конец и между двумя любыми скобками). ваша — добавить не более

n

скобок так, чтобы последовательность превратилась в правильную.

разберём три примера к . в первом примере все три скобки добавлены в конец — мы закрываем уже открытые скобки. во втором примере последовательность и так является правильной. можно вывести её, можно, к примеру, добавить ещё пару скобок — минимальность ответа не требуется. в третьем примере последовательность правильной не является — скобки закрываются не в том порядке. можно исправить, например, вставив открывающую квадратную скобку сперели и закрывающую квадратную — перед закрывающей фигурной.

формат ввода

на вход подаётся непустая строка из не более, чем

1

0

4

символов, состоящая из символов ‘{’, ‘}’, ‘[’, ‘]’, ‘(’ и ‘)’.

формат вывода

выведите итоговую строку, получившуюся после вставки скобок и являющуюся правильной скобочной последовательностью. длина строки не должна превышать удвоенной длины входной строки. если ответов несколько, выведите любой. минимизировать длину строки не требуется.

пример 1

ввод вывод

( [ {

( ) [ ] { }

пример 2

ввод вывод

( [ ] )

( ) [ ] [ ] ( )

пример 3

ввод вывод

{ [ } ]

{ } [ ] { } [ ]

примечания

решением этой должна являться программа на одном из представленных в системе языков программирования, решающая данную . программа должна считывать данные со стандартного ввода (клавиатуры) и выводить на стандартный вывод (монитор). никаких дополнительных строк или символов выводить не разрешается.

в qbasic или паскаль

Показать ответ
Ответ:
роги1
роги1
10.10.2020 13:33

PascalABC.NET

begin

 var s := ReadlnString;

 var t := '';

 foreach var c in s do

   case c of

     '(': t += c + ')';

     '[': t += c + ']';

     '{': t += c + '}';

     ')': t += '(' + c;

     ']': t += '[' + c;

     '}': t += '{' + c

   end;

 Write(t)

end.

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота