Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 21.11.2024
Сообщений: 2

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

21.11.2024, 18:28. Показов 609. Ответов 3
Метки 12 (Все метки)

Студворк — интернет-сервис помощи студентам
Напиши программу, которая получает на вход скобочную последовательность, первую из лексикографического порядка. Твоя программа должна вывести всю лексикографическую последовательность. Тестирующая система проверяет следующие виды скобок: [ ] { } ( ) которые могут быть даны в любой правильной скобочной последовательности.

Например:

()[]{},

{}[](),

{}([])

и т.д.

Sample Input 1:

()[]
Sample Output 1:

()[]
([])
[()]
[]()
Sample Input 2:

((()))
Sample Output 2:

((()))
(()())
(())()
()(())
()()()
Sample Input 3:

({})
Sample Output 3:

({})
(){}
{()}
{}()
Sample Input 4:

{}{}{}
Sample Output 4:

{}{}{}
{}{{}}
{{}}{}
{{}{}}
{{{}}}


вот мой код
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
mport itertools
 
s = itertools.permutations(input())
result = set()
for i in s:
    text = ''.join(i)
    while '()' in text or '{}' in text or '[]' in text:
        text = text.replace('()', '')
        text = text.replace('[]', '')
        text = text.replace('{}', '')
        if not text:
            result.add(''.join(i))
result = sorted(result)
for i in result:
    print(i)
пишет ошибку:
Failed test #3 of 12. Wrong answer

This is a sample test from the problem statement!

Test input:
({})

Correct output:
({})
(){}
{()}
{}()


Your code output:
(){}
({})
{()}
{}()

Ребят напишите пж полный код
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.11.2024, 18:28
Ответы с готовыми решениями:

Скобочные последовательности
Перечислите все правильные скобочные последовательности из 2n круглых скобок. Последовательности выведите в лексикографическом порядке,...

Правильные скобочные последовательности
Правильная скобочная последовательность — это такая последовательность, которая могла быть получена из арифметического выражения удалением...

Вывести все правильные скобочные выражения
Задача 3: Вывести все правильные скобочные выражения длиной N (2 ≤ N ≤ 16, N чётное), состоящие из круглых и квадратных скобок. ...

3
Эксперт Python
8850 / 4501 / 1864
Регистрация: 27.03.2020
Сообщений: 7,316
21.11.2024, 18:55
Rash222, по логике примеров первым элементом идет «input». Вывести его первым, а из множества перед сортировкой его убрать?
0
Нарушитель
110 / 86 / 32
Регистрация: 10.05.2023
Сообщений: 323
21.11.2024, 18:57
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
def is_valid(s):
    stack = []
    for char in s:
        if char in '({[':
            stack.append(char)
        else:
            if not stack or \
               (char == ')' and stack[-1] != '(') or \
               (char == '}' and stack[-1] != '{') or \
               (char == ']' and stack[-1] != '['):
                return False
            stack.pop()
    return len(stack) == 0
 
def generate_brackets(s):
    brackets_count = {}
    for char in s:
        brackets_count[char] = brackets_count.get(char, 0) + 1
    
    for open_b, close_b in [('(', ')'), ('{', '}'), ('[', ']')]:
        if brackets_count.get(open_b, 0) != brackets_count.get(close_b, 0):
            return []
 
    result = set()
    def permutations(arr):
        if not arr: return [[]]
        curr_result = []
        seen = set()
        for i in range(len(arr)):
            if arr[i] in seen: continue
            seen.add(arr[i])
            for p in permutations(arr[:i] + arr[i+1:]):
                curr_result.append([arr[i]] + p)
        return curr_result
    
    for p in permutations(list(s)):
        seq = ''.join(p)
        if is_valid(seq):
            result.add(seq)
    
    return sorted(list(result))
 
s = input().strip()
if s and all(char in '(){}[]' for char in s):
    sequences = generate_brackets(s)
    if sequences:
        for seq in sequences:
            print(seq)
0
0 / 0 / 0
Регистрация: 21.11.2024
Сообщений: 2
23.11.2024, 16:00  [ТС]
Failed test #3 of 12. Wrong answer

This is a sample test from the problem statement!

Test input:
({})

Correct output:
({})
(){}
{()}
{}()


Your code output:
(){}
({})
{()}
{}()

Бро у тебя ошибка в коде

Добавлено через 5 минут
ну твой код не работал сначала я его исправил:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
def v(s):
    st = []
    for c in s:
        if c in '({[':
            st.append(c)
        else:
            if not st or \
               (c == ')' and st[-1] != '(') or \
               (c == '}' and st[-1] != '{') or \
               (c == ']' and st[-1] != '['):
                return False
            st.pop()
    return len(st) == 0
 
def g(s):
    c = {}
    for ch in s:
        c[ch] = c.get(ch, 0) + 1
 
    for o, cl in [('(', ')'), ('{', '}'), ('[', ']')]:
        if c.get(o, 0) != c.get(cl, 0):
            return []
 
    r = set()
    def p(a):
        if not a: return [[]]
        cr = []
        se = set()
        for i in range(len(a)):
            if a[i] in se: continue
            se.add(a[i])
            for pe in p(a[:i] + a[i+1:]):
                cr.append([a[i]] + pe)
        return cr
 
    for pe in p(list(s)):
        sq = ''.join(pe)
        if v(sq):
            r.add(sq)
 
    return sorted(list(r))
 
s = input().strip()
if s and all(c in '(){}[]' for c in s):
    sqs = g(s)
    if sqs:
        for sq in sqs:
            print(sq)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.11.2024, 16:00
Помогаю со студенческими работами здесь

Скобочные последовательности
Дана скобочная последовательность, заданная символами «», «{», «}», «(», «)». Выведите самую длинную её подстроку, являющуюся правильной...

Скобочные последовательности
https://ibb.co/7bwsnvG Как решить данную задачу? #include <iostream> #include <stack> #include <string> std::string...

Скобочные последовательности.
Рассмотрим правильные скобочные последовательности, состоящие из трех видов скобок: круглых (), квадратных и угловых <>. Назовем...

Скобочные последовательности
Вот несколько задачек, помогите пожалуйста: 1) Пользователь вводит строку. Удалить все закомментированные места и вывести...

Правильные скобочные последовательности
Здравствуйте. Помогите, пожалуйста, с задачей. Ограничение по времени работы: 1 секунда Посчитайте количество правильных...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru