uylia144348
03.09.2022 00:27

Задача С++
Баланс скобок
Имеется строка, содержащая скобки ( ) и [ ]. Скобочное выражение считается правильным, если:

оно является пустым
если A и B правильны, то AB правильно
если A правильно, то (A) и [A] правильны
Напишите программу, которая по входной строке, содержащей скобочное выражение, определит корректно ли оно. Длина строки не больше 128 символов.

Формат входных данных
Первая строка содержит количество тестов n (n ≤ 100000). Каждая из следующих n строк содержит выражение, состоящее из скобок ( ) и [ ].

Формат результата
Для каждого теста вывести в отдельной строке "Yes", если выражение является правильным и "No" иначе.

Примеры
Входные данные
3
([])
(([()])))
([()[]()])()
Результат работы
Yes
No
Yes

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Vikanigmatulina
08.03.2023 08:31
1)function first(k,l,m,n:integer):boolean;
 begin
  if (((k mod 2=0) and (l mod 2<>0)) or ((l mod 2=0) and (k mod 2<>0)))=(((m mod 2=0) and (n mod 2<>0)) or ((n mod 2=0) and (m mod 2<>0))) then first:=true else first:=false;
end;

2)function second(k,l,m,n:integer):boolean;
 begin
  if (k=m) or (l=n) or (((k+1)=m) and ((l+1)=n)) or (((k+2)=m) and ((l+2)=n)) or (((k+3)=m) and ((l+3)=n)) or (((k+4)=m) and ((l+4)=n)) or (((k+5)=m) and ((l+5)=n)) or (((k+6)=m) and ((l+6)=n)) or (((k-1)=m) and ((l-1)=n)) or (((k-2)=m) and ((l-2)=n)) or (((k-3)=m) and ((l-3)=n)) or (((k-4)=m) and ((l-4)=n)) or (((k-5)=m) and ((l-5)=n)) or (((k-6)=m) and ((l-6)=n)) or (((m+1)=k) and ((n+1)=l)) or (((m+2)=k) and ((n+2)=l)) or (((m+3)=k) and ((n+3)=l)) or (((m+4)=k) and ((n+4)=l)) or (((m+5)=k) and ((n+5)=l)) or (((m+6)=k) and ((n+6)=l)) or (((m-1)=k) and ((n-1)=l)) or (((m-2)=k) and ((n-2)=l)) or (((m-3)=k) and ((n-3)=l)) or (((m-4)=k) and ((n-4)=l)) or (((m-5)=k) and ((n-5)=l)) or (((m-6)=k) and ((n-6)=l)) or (((k-1)=m) and ((l+1)=n)) or (((k-2)=m) and ((l+2)=n)) or (((k-3)=m) and ((l+3)=n)) or (((k-4)=m) and ((l+4)=n)) or (((k-5)=m) and ((l+5)=n)) or (((k-6)=m) and ((l+6)=n)) or (((k-1)=m) and ((l+1)=n)) or (((k-2)=m) and ((l+2)=n)) or (((k-3)=m) and ((l+3)=n)) or (((k-4)=m) and ((l+4)=n)) or (((k-5)=m) and ((l+5)=n)) or (((k-6)=m) and ((l+6)=n)) or (((m-1)=k) and ((n+1)=l)) or (((m-2)=k) and ((n+2)=l)) or (((m-3)=k) and ((n+3)=l)) or (((m-4)=k) and ((n+4)=l)) or (((m-5)=k) and ((n+5)=l)) or (((m-6)=k) and ((n+6)=l)) or (((m-1)=k) and ((n+1)=l)) or (((m-2)=k) and ((n+2)=l)) or (((m-3)=k) and ((n+3)=l)) or (((m-4)=k) and ((n+4)=l)) or (((m-5)=k) and ((n+5)=l)) or (((m-6)=k) and ((n+6)=l)) then second:=true else second:=false;
 end;
0,0(0 оценок)
Ответ:
Urannnnnn
16.02.2020 00:50
:D 
Ну го Ничего если  на паскале напишу ? 
uses crt;
var  a:array[1..50] of integer ;i,j,n,x,t,k:integer;b:string;
begin
read(n);     
for i:= 1 to n do     
begin     
a[i]:=random(15);     
write(a[i],' ');     
end;     
writeln;     
for i:= 1 to n-1 do     
for j:= i+1 to n do     
if a[i]> a[j] then begin t:=a[i]; a[i]:=a[j]; a[j]:=t; end;     
for i:= 1 to n do     
write(a[i],' ');     
writeln;     
read(x);     
for i:= 1 to n do     
 if a[i] = x then k:=k+1;     
 str(k,b);     
n:=length(b);     
 if k in  [11..19] then write (k,' раз') else     
 if k = 0 then  write('число ',x,' не встречается ')else     
case b[n] of     
 '0','1','5','6','7','8','9': write (k,' раз');     
 '3','4','2': write (k,' раза') ;     
end;
end.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота