|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
31.12.2012, 19:54 | #1 |
Пользователь
Регистрация: 29.12.2011
Сообщений: 11
|
Программа не улаживается во время!
Здравствуйте. Я решаю одну олимпиадную задачу,и она должна улаживатся в 2 секунды. Можете помочь мне оптимизировать программу?
Код:
Помогите роботам с генерацией добрых пожеланий - напишите программу, которая для заданной строки S длиной не более пяти символов и заданного числа N определяет количество допустимых строк длины N, которые являются палиндромами. Формат входных данных Первая строка содержит строку S. Вторая строка содержит одно целое число N. Длина строки S не превосходит пяти. 1 ≤ N ≤ 100 Формат выходных данных Выведите одно целое число - количество строк длины N, которые являются палиндромами и не содержат S в качестве подстроки. |
31.12.2012, 20:53 | #2 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,291
|
Код:
На тесте AAB 20 Ваша программа работает 0.52 секунды, моя - 0.01. Но тест с N, равным 100, моя программа выполняет дольше 5 секунд (на ideone.com ограничение в 5 секунд на исполнение). Также, не могу гарантировать, что программа (моя) вообще правильно работает (мысли-то о НГ)
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
Последний раз редактировалось BDA; 31.12.2012 в 20:57. |
31.12.2012, 21:06 | #3 |
Пользователь
Регистрация: 29.12.2011
Сообщений: 11
|
Спасибо. Ваша программа намного лучше моей.
|
31.12.2012, 21:20 | #4 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,291
|
Пожалуйста.
Вы ее отправляли? Сколько тестов проходит (из спортивного интереса)?
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
31.12.2012, 21:33 | #5 |
Пользователь
Регистрация: 29.12.2011
Сообщений: 11
|
Всего 50 тестов. Моя порходила 10 тестов,а ваша 22 теста. Скорей всего надо менять алгоритм решения.
|
31.12.2012, 21:45 | #6 | |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,291
|
Цитата:
А пишется, почему не проходят остальные тесты (или хотя бы на том тесте, что споткнулась)? Попробуйте такой вариант: Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
|
31.12.2012, 21:58 | #7 |
Пользователь
Регистрация: 29.12.2011
Сообщений: 11
|
Ваш второй вариант проходит 25 тестов. Все ошбки-это программа не проходит по времени (лимит 2 секунды,а программа работает 2.028-2.012 секунд).Я думаю,что надо вывести формулу типа общее кол-во палиндромов отнять кол-во палиндромов, содержащих в себе строку S.
общее кол-во палиндромов я знаю как найти.Над кол-во палиндромов, содержащих в себе строку S работаю в данный момент. |
31.12.2012, 22:33 | #8 | |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,291
|
Идем на радикальные меры и отказываемся от string
Код:
мой 2 вариант 3.93s этот вариант 2.12s Цитата:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
Последний раз редактировалось BDA; 31.12.2012 в 22:37. |
|
31.12.2012, 22:39 | #9 |
Пользователь
Регистрация: 29.12.2011
Сообщений: 11
|
На 5 тестов непровильный ответ выводит + ошибка время выполнения много тестов.
|
31.12.2012, 22:40 | #10 |
Пользователь
Регистрация: 29.12.2011
Сообщений: 11
|
а формулу я практически вывел
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Скомпилированная программа не меняет системное время | xunicorn | WPF, UWP, WinRT, XAML | 2 | 22.11.2012 15:10 |
Нужно вывести время за которое выполнилась программа. | Rennek | Общие вопросы C/C++ | 2 | 01.10.2011 21:31 |
во время сортировки программа вылетает | MaRKer.nsk | Общие вопросы C/C++ | 3 | 10.04.2010 15:49 |
Третья, Интернет программа «Время отвечать» | Alar | Свободное общение | 1 | 21.11.2008 21:27 |
вторая, Интернет программа «Время отвечать» | Alar | Свободное общение | 1 | 19.11.2008 19:19 |