0 / 0 / 0
Регистрация: 21.09.2016
Сообщений: 59
|
||||||
1 | ||||||
Правильное арифметическое выражение со скобками29.10.2016, 14:20. Показов 2312. Ответов 18
Метки нет (Все метки)
Всем привет, зачастил я тут
В общем стояла такая задача: Input N - кол-во скобок (1 <= N <= 100000) N скобок (сами скобки) Output cout << "Yes";, если с данными скобками можно получить правильное арифм. выражение или cout << "No";, если нет. Пример: Input: 6 ([())] Output: No Input: 24 {[()([]{})[]]({}{{}})}[] Output: No Я набросал такое:
Не могли бы вы помочь оптимизировать? Добавлено через 31 минуту Извиняюсь, опечатка Input: 24 {[()([]{})[]]({}{{}})}[] Output: Yes
0
|
29.10.2016, 14:20 | |
Ответы с готовыми решениями:
18
Сформировать правильное арифметическое выражение Правильное арифметическое выражение записать в двоичное дерево Можно ли добавить в последовательность из различных скобок цифры и знаки, чтобы получилось правильное арифметическое выражение? Добавить числа в скобочное выражение, чтобы получилось правильное арифметическое выражение |
1394 / 1023 / 325
Регистрация: 28.07.2012
Сообщений: 2,813
|
|
29.10.2016, 14:28 | 2 |
Sultik_Zaka, предположу, что твоя программа в основном занимается выделением и освобождением данных в std::stack. Попробуй заменить std::stack на std::vector.
0
|
0 / 0 / 0
Регистрация: 21.09.2016
Сообщений: 59
|
|
29.10.2016, 14:48 [ТС] | 3 |
К сожалению, пока вектора не проходили
Если поможете с заменой - буду неизменно благодарен
0
|
1394 / 1023 / 325
Регистрация: 28.07.2012
Сообщений: 2,813
|
||||||
29.10.2016, 14:53 | 4 | |||||
Не уверен на счет работоспособности:
0
|
0 / 0 / 0
Регистрация: 21.09.2016
Сообщений: 59
|
|
29.10.2016, 14:55 [ТС] | 5 |
0
|
1394 / 1023 / 325
Регистрация: 28.07.2012
Сообщений: 2,813
|
||||||
29.10.2016, 15:01 | 6 | |||||
Я не ошибался.
Это твой стандарт просто слишком стар для этого Замени на:
0
|
0 / 0 / 0
Регистрация: 21.09.2016
Сообщений: 59
|
|
29.10.2016, 15:04 [ТС] | 7 |
Спасибо, вот только что поправил
Но все равно, Time Limit :/
0
|
1394 / 1023 / 325
Регистрация: 28.07.2012
Сообщений: 2,813
|
||||||
29.10.2016, 15:32 | 8 | |||||
А вот так?
0
|
0 / 0 / 0
Регистрация: 21.09.2016
Сообщений: 59
|
|
29.10.2016, 15:43 [ТС] | 9 |
Аналогично, Time Limit
0
|
1394 / 1023 / 325
Регистрация: 28.07.2012
Сообщений: 2,813
|
||||||
29.10.2016, 15:54 | 10 | |||||
Еще можно выкинуть строчки 24-26 и написать просто:
Добавлено через 3 минуты А вообще странно, может ты неправильно указал входные данные, и программа просто зависает на ожидании ввода?
0
|
0 / 0 / 0
Регистрация: 21.09.2016
Сообщений: 59
|
|
29.10.2016, 17:31 [ТС] | 11 |
Да нет, все правильно
Просто Time Limit 97 ms - это пздц)
0
|
1394 / 1023 / 325
Регистрация: 28.07.2012
Сообщений: 2,813
|
|||||||||||
29.10.2016, 17:49 | 12 | ||||||||||
Sultik_Zaka, ну теперь даже не знаю.
Попробуй добавить еще ios::sync_with_stdio(false); в начало программы.
Добавлено через 3 минуты Хотя, еще можно стек пихнуть прямо в строку: Кликните здесь для просмотра всего текста
0
|
0 / 0 / 0
Регистрация: 21.09.2016
Сообщений: 59
|
||||||
29.10.2016, 17:53 [ТС] | 13 | |||||
Вот и я думаю, что багнулся контестер...
0
|
1394 / 1023 / 325
Регистрация: 28.07.2012
Сообщений: 2,813
|
|
29.10.2016, 17:57 | 14 |
Sultik_Zaka,
Предлагаю забить, пока не починят. Кстати, платформа с задачей какая-то общеизвестная, или локальная школьная/институтская?
0
|
0 / 0 / 0
Регистрация: 21.09.2016
Сообщений: 59
|
|
29.10.2016, 18:02 [ТС] | 15 |
Университетская (IITU contester)
Нашел аналогичное задание в другом разделе контестера, ток там Time Limit в два раза меньше и у всех стоит "+" (Accepted) o_O Значит все-таки решение есть
0
|
1394 / 1023 / 325
Регистрация: 28.07.2012
Сообщений: 2,813
|
|
29.10.2016, 18:11 | 16 |
Ну, все может сломаться в самый неподходящий момент...
Sultik_Zaka, попробуй поиграться с вводом. Если там допускается считывание из файла, то попробуй с ним.
0
|
0 / 0 / 0
Регистрация: 21.09.2016
Сообщений: 59
|
|
29.10.2016, 18:14 [ТС] | 17 |
С вводом игрался как мог
Считывание с файла (fstream) делал...
0
|
1394 / 1023 / 325
Регистрация: 28.07.2012
Сообщений: 2,813
|
|
29.10.2016, 18:26 | 18 |
Sultik_Zaka, тогда я больше ничем помочь не могу.
Советую обратиться в поддержку контестера, либо напрямую к преподавателю.
0
|
0 / 0 / 0
Регистрация: 21.09.2016
Сообщений: 59
|
|
29.10.2016, 18:35 [ТС] | 19 |
Благодарю!)
Так и сделаю
0
|
29.10.2016, 18:35 | |
29.10.2016, 18:35 | |
Помогаю со студенческими работами здесь
19
Добавить цифры и знаки арифметических действий так, чтобы получилось правильное арифметическое выражение Строка содержит правильное арифметическое выражение. Подсчитать результат, выполняя операции в порядке их следования Дано математическое выражение с числами и скобками Проанализировать некоторое символьное выражение a$ с входящими в него скобками Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |