Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
31 / 1 / 0
Регистрация: 07.01.2016
Сообщений: 44

Вывести все правильные скобочные выражения (оптимизировать алгоритм, ускорить работу кода)

03.11.2016, 16:23. Показов 1818. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
есть код, нужно cout и cin перевести на printf и scanf дополнительных библиотек не подключать!
проблема в том что при вводе 14 работает дольше секунды

P.S. задача №372 acmp, ща скину условие.
Кликните здесь для просмотра всего текста

Скобки - 2

(Время: 1 сек. Память: 16 Мб Сложность: 52%)
Вывести все правильные скобочные выражения длиной N, состоящие из круглых и квадратных скобок.

Входные данные

Входной файл INPUT.TXT содержит единственное четное натуральное число N, не превышающее 14.

Выходные данные

В выходной файл OUTPUT.TXT выведите всевозможные правильные скобочные выражения по одному в каждой строке в произвольном порядке.



Кликните здесь для просмотра всего текста

C++
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
#include<iostream>
#include<vector>
#include<algorithm>
#include<math.h>
#include<fstream>
#include<deque>
using namespace std;
int n;
string s;
bool ok(string s){
deque<char>v;
for(int i=0;i<n;i++){
if(s[i]=='(')v.push_back('(');
if(s[i]=='[')v.push_back('[');
if(s[i]==')'&&(!v.empty()&&v.back()=='('))v.pop_back();
else if(s[i]==')'&&(v.empty()||v.back()!='('))return 0;
if(s[i]==']'&&(!v.empty()&&v.back()=='['))v.pop_back();
else if(s[i]==']'&&(v.empty()||v.back()!='['))return 0;
}
if(v.empty()==1)return 1;
return 0;
}
void rec(int pos){
if(pos==n){if(ok(s))cout<<s;return;}
s[pos]='(';
rec(pos+1);
s[pos]=')';
rec(pos+1);
s[pos]='[';
rec(pos+1);
s[pos]=']';
rec(pos+1);
}
int main(){
ios_base::sync_with_stdio(0);
cin>>n;
for(int i=0;i<n;i++)
s+='(';
rec(0);
return 0;
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.11.2016, 16:23
Ответы с готовыми решениями:

Вывести все правильные скобочные выражения длины N, состоящие из круглых и квадратных скобок
Здравствуйте! Решил данную задачу, но один тест не проходит по времени...Можно ли как-то оптимизировать данный код? Мое решение: ...

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

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

3
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
03.11.2016, 16:41
Цитата Сообщение от game1progg Посмотреть сообщение
проблема в том что при вводе 14 работает дольше секунды
Это проблема в алгоритме, а не отсутствии микрооптимизации в виде замены операторов ввода/вывода на функции.
0
31 / 1 / 0
Регистрация: 07.01.2016
Сообщений: 44
03.11.2016, 17:11  [ТС]
MrGluck мне учитель сказал что надо перевести на scanf printf , и я должен показать что я это сделал.
но был бы очень благодарен если вы сможете написать более рабочий вариант, с теми же библиотеками...
0
Любитель чаепитий
 Аватар для GbaLog-
3745 / 1801 / 566
Регистрация: 24.08.2014
Сообщений: 6,020
Записей в блоге: 1
03.11.2016, 17:32
Цитата Сообщение от game1progg Посмотреть сообщение
с теми же библиотеками...
Но Вы даже не подключили библиотек, только заголовки.
Кстати, с Вашими "библиотеками" не получится решить данную задачу, потому что они не содержат таких функций, как printf и scanf. Эти функции содержит заголовок <stdio.h>.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.11.2016, 17:32
Помогаю со студенческими работами здесь

Рекурсия: записать в vector все скобочные выражения
Доброго времени суток, очень нужно помогите! Есть формула например такая 12(123+12(2+34)) Нужно в vector записать все скобочные...

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

Преобразование изображения: ускорить работу кода
Добрый. Как можно ускорить следующий код? Мне необходимо конвертировать определенный цвет в пространстве RGB в пространство LAB. Я хочу...

Задачка 435 с acmp.ru -ускорить работу кода
Вот мой код работает медленно, а так вроде бы правильный, нноо хотелось бы оптимизировать также нашел како-то код на си вроде тоже...

Как ускорить работу кода, избавившись от Memo?
Всем привет! Есть у меня парсер данных со спорт сайта, так вот в нем я паршу коеффициенты (кто хоть раз делал ставки в букмекерской...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера 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, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru