
Скобки Задана строка, в которой могут быть встречены 3 типа скобок: фигурные, квадратные и
круглые. Помимо скобок в строке встречаются и другие последовательности символов. Вложенность скобок может быть произвольной. Необходимо проверить корректность скобочной записи: каждой открывающей скобке должна соответствовать следующая за ней закрывающая скобка того же типа на том же уровне вложенности, не должно быть открывающей или закрывающей скобки без пары. Входные данные: Строка, содержащая произвольный набор символов(в т.ч. и без скобок) Выходные данные: Программа должна вывести: А) слово “correct”, если запись корректна или не содержит скобок Б) слово “incorrect”, если запись не корректна Sample Input: (this [is] test) Sample Output: correct Напишите программу. Тестируется через stdin → stdout Time Limit: 15 секунд Memory Limit: 256 MB

Ответы на вопрос

Ответ:
a = input()
mas = []
answer = ""
test01 = "Incorrect"
test02 = "Incorrect"
def check():
global mas
global answer
global test01
global test02
#Bad, but this test01 deleted
#Second step for check
for infinity in range(100):
for i in range(len(mas)):
try:
m = i + 1
if mas[i] == "[" and mas[m] == "]" or mas[i] == "{" and mas[m] == "}" or mas[i] == "(" and mas[m] == ")":
del mas[i]
del mas[i]
except:
pass
if len(mas) == 0:
test02 = "Correct"
break
else:
test02 = "Incorrect"
#End testing
if test02 == "Correct":
answer = "correct"
else:
answer = "incorrect"
for i in range(len(a)):
if a[i] == "{":
mas.append(a[i])
if a[i] == "[":
mas.append(a[i])
if a[i] == "(":
mas.append(a[i])
if a[i] == "}":
mas.append(a[i])
if a[i] == "]":
mas.append(a[i])
if a[i] == ")":
mas.append(a[i])
del a
del i
check()
print(answer)
Объяснение:
Благодарности не требую, все ради Вас. Прошу отметить как лучшее решение
10/10



Ответ:
a = input()
firs = 0
sec = 0
third = 0
for i in a:
if(i == '{' or i == '}'):
firs += 1
elif (i == '(' or i == ')') :
sec += 1
elif(i == '[' or i == ']'):
third += 1
if( (firs+sec+third) % 2 == 0 ):
print('correct')
else:
print('incorrect')
Объяснение:
Прошел 8 из 10



Конечно, вот пример программы на языке Python, который выполняет проверку корректности скобочной записи:
pythondef is_correct_expression(expression):
stack = [] # Используем стек для отслеживания открытых скобок
# Словарь для соответствия открывающих и закрывающих скобок
brackets_map = {')': '(', '}': '{', ']': '['}
for char in expression:
if char in '([{':
stack.append(char)
elif char in ')]}':
if not stack or stack[-1] != brackets_map[char]:
return False
stack.pop()
return not stack # Если стек пустой, то все скобки были корректно закрыты
# Чтение входных данных
input_string = input().strip()
# Проверка и вывод результата
if is_correct_expression(input_string):
print("correct")
else:
print("incorrect")
Пример работы программы:
kotlinInput:
(this [is] test)
Output:
correct
makefileInput:
((test])
Output:
incorrect
Программа считывает строку, проходит по символам и использует стек для отслеживания открытых скобок. Если встречается открывающая скобка, она добавляется в стек, а если встречается закрывающая, то проверяется соответствие с последней открытой скобкой в стеке. Если всё корректно, то в конце проверяется, остались ли незакрытые скобки в стеке.


Похожие вопросы
Топ вопросов за вчера в категории Информатика







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