Статистика
Всего в нашей базе более 4 327 663 вопросов и 6 445 978 ответов!

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

10-11 класс

Ввод
В первой строке находится единственное число N.
Вывод
Каждое выражение выводится в отдельной строке.
Ограничения
1 ≤ N ≤ 14, N - четное.
Вывести все правильные скобочные выражения длиной N, состоящие из круглых и квадратных скобок.
Ввод
В первой строке находится единственное число N.
Вывод
Каждое выражение выводится в отдельной строке.
Ограничения
1 ≤ N ≤ 14, N - четное.

Dashaweit 29 марта 2015 г., 19:33:35 (9 лет назад)
Рейтинг
+ 0 -
0 Жалоба
+ 0 -
8921m
29 марта 2015 г., 20:03:47 (9 лет назад)

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

Пример реализации на Питоне можно посмотреть во вложенном файле, для запуска можно, например, изменить расширение на py

Ответить

Другие вопросы из категории

Помогите пожалуйста,очень надо,а как сделать не знаю!!!!!

Рассчитать урожайность соломки льна ( Z ), если она зависит от дозы внесенных удобрений ( X ) и количества осадков ( Y ) следующим образом:
при дозе внесенных удобрений Х не более 3 ц/га и количестве осадков У не более 80 мм урожайность составляет
Z = 8+1,5•X+0,1•Y;
при дозе внесенных удобрений Х более 7 ц/га и количестве осадков У более 100 мм урожайность составляет
Z = 7,5+2 X-0,2•Y;
в остальных случаях урожайность составляет:
Z = 11+2,5•X+0,2•Y.
Расчеты выполнить для расчетных данных приведенных в нижеследующей таблице

По результатам расчетов построить графическое изображение.В расчетах использовать функции категория Логические : ЕСЛИ( ), И( ).˂

Читайте также

Дан массив, состоящий из 100 целых чисел:

а) Вывести все числа, которые встречаются в этом массиве по нескольку раз;
б) Вывести все числа, которые встречаются в массиве только по одному разу.

Паскаль помогите пжл!!!!!! Дан одномерный массив, состоящий из вещественных элементов. Найти произведение элементов массива,

расположенных между максимальным и минимальным элементами.

Дан одномерный массив, состоящий из вещественных элементов. Найти произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами

ну или исправьте мое пжл

program fgf;
var mas:array[1..100] of real;
max,min:real;
i,n,c,b:shortint;
p:real;
f1,g:text;
begin;
assign (f1, 'input.txt');
reset (f1);
readln (f1, n);

for i:=1 to N do read (mas[i]);
max:=mas[i];
for i:=2 to N do begin
if mas[i]>max then begin
max:=mas[i];
c:=i;
end;
end;
min:=mas[1];
for i:=2 to N do begin
if mas[i]<min then begin
max:=mas[i];
b:=i;
end;
end;
close(f1);
assign (g, 'output.txt');
rewrite (g);
p:=1;
if b<c then I:=b+1 and c-1

else for I:=c+1 to b-1 do p:=p*mas[i];

if (n<3) or (b+1=c) or (c+1=b) then writeln(g,'0.00') else write(p:3:3) ;

close (g);
end.

помогите пожалуйста:

Напиши цифровой фильтр. На вход программе подаётся строка символов. На выходе должны быть только её цифры. Например, если на входе была строка
He110, k177en!
то на выходе должно быть
110177

2. В строке, состоящей из слов, разделённых одним или несколькими пробелами, вывести второе слово. Например, если на вход программе подавалась строка
Меня истина манит сияньем
то на выходе будет
истина

На вход подаётся строка. Вывести часть входной часть строки. Часть строки задаётся номером первого символа и количеством символов.

var
s: string;
n, k, i: integer;
Begin
readLn(s, n, k);
for i := n to n+k-1 do write(s[i]);
End.


2. На вход подаётся предложение на английском языке. Вывести все гласные строки в том порядке, в котором они встречались в строке.


(ключевой фрагмент)
for i := 1 to length(s) do
if s[i] in ['A', 'E', 'I', 'O', 'Y', 'a', 'e', 'i', 'o', 'y']
then write(s[i]);


Варианты программы определения, является ли строка полиндромом
--------------------------------------------------------------
var
s, s1: string;
i: integer;
Begin
readLn(s);
s1 := '';
for i := 1 to length(s) do s1 := s[i] + s1;

write('строка ');
if s1 <> s then write('не ');
writeLn('является полиндромом');
End.



var
s: string;
i, j: integer;
Begin
readLn(s);

i := 1;
j := length(s);
while (i < j) and (s[i] = s[j]) do begin
inc(i);
dec(j);
end;
write('строка ');
if s[i] <> s[j] then write('не ');
writeLn('является полиндромом');
End.


Pascal

1)Задан список из 7 фамилий. Определить, имеется ли в списке фамилия, начинающаяся с буквы "А" и состоящая из 6 букв. Если да, то вывести ее на экран
2)В заданном тексте удалить символ ' , ' и подсчитать число удаленных символов. Предусмотреть возможность задания с клавиатуры удаляемого символа.
3)Организовать простейшую базу данных по студентам группы. Сведения о студенте включают: ФИО, год рождения, пол, средний балл. Обеспечить ввод данных, редактирование, вывод на экран. Информацию хранить в типизированном файле.
Помогите пожалуйста решить. отдаю полностью все свои баллы



Вы находитесь на странице вопроса "Вывести все правильные скобочные выражения длиной N, состоящие из круглых и квадратных скобок.", категории "информатика". Данный вопрос относится к разделу "10-11" классов. Здесь вы сможете получить ответ, а также обсудить вопрос с посетителями сайта. Автоматический умный поиск поможет найти похожие вопросы в категории "информатика". Если ваш вопрос отличается или ответы не подходят, вы можете задать новый вопрос, воспользовавшись кнопкой в верхней части сайта.