eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Дремучий лес

опубліковано 23.06.13, 15:43:13

Условие и тесты совпадают с последней задачей. Да и с тестами что-то не ладное: одна и та же программа скомпилированная разными компиляторами то проходит то нет. А если повысить точность вывода решения то не засчитает (хотя пишет что надо вывести с точностью не меньше 8 символов, а не ровно 8)

опубліковано 23.06.13, 15:52:28

> Djuri-bachi > > Условие и тесты совпадают с последней задачей. > Да и с тестами что-то не ладное: одна и та же программа скомпилированная разными компиляторами то проходит то нет. А если повысить точность вывода решения то не засчитает (хотя пишет что надо вывести с точностью не меньше 8 символов, а не ровно 8)

Точность - дело тонкое. Автоматическая проверка проверяет не равенство первых k символов в выводе, а то, чтобы разность между авторским решением и решением участника отличались не более, чем на некоторое маленькое значение. Пусть реальный ответ 7,97 Ваша программа выводит ответ 8,07 Разность составляет одну десятую(что может подходить под ограничения точности) Если вы увеличите точность, Ваша программа выведет 8,0784 Разность уже составит большее значение, и не выполнится соответствующее ограничение точности. По поводу разных компиляторов - у них просто разные особенности, в том числе и хранение дробных чисел.

опубліковано 23.06.13, 16:02:15

Ну тогда совсем ничего не понимаю. Если не идет проверка на тотожное равенство ответа, тогда єталонные ответы неправильны. Программа не может неправильно решать задачу (єто ведь стандартная минимизация унимодальной функции), а чтоб засчитало все тесты пришлось пошаманить: брать не середину отрезка на котором находится минимум, а его левый край. Но с увлечением точности проходит меньше тестов, чем когда выставить е = 1е-8.

опубліковано 23.06.13, 16:05:36

Мне тоже пришлось пошаманить немного) и мне тоже не нравятся такие задачи) Но система - есть система)

опубліковано 23.06.13, 16:11:06

да сама задача нормальная, только вот тестирование какое-то странное. Вот на Паскале никак не получается ее решить, хотя та же программа на компиляторе Делфи проходит все тесты. А у нас преважное большинство пользуется Паскалем. На олимпиадах, обычно есть только Free pascal и Microsoft c++

awpris відповів:
А про опции компилятора Вы не в курсе? Кто Вам мешает компилить на free в режиме Delphi? _P.S._: Хотя это не всегда снимает проблему.
опубліковано 23.06.13, 16:27:00

Честно говоря о возможности из-под Фри компилировать в режиме Делфи от Вас услышал впервые.

опубліковано 23.06.13, 16:31:51

P.S. Так проходит, хотя не понимаю в чем проблема... Єх, хоть один бьі с проблемньіх тестов увидеть, уже интересно почему без пляски с бубном не работает...

опубліковано 23.06.13, 16:36:36

Боюсь, Вам тест не поможет) Просто отличаться будут значения на некое маленькое значение)

опубліковано 23.06.13, 16:41:40

Это понятно. Но хотелось бы отловить где программу несет не в ту степь. Вроде на всех моих тестах программы выдают один и тот же ответ, как и Maple.

опубліковано 23.06.13, 16:41:49

Неплохим решением этой проблемы было бы такое: Берем авторское решение с точностью, скажем 10 ^ -7 А затем сравниваем не сам ответ участника, а то, чтобы время передвижения при таком ответе было меньшим либо равным времени, которое получится при авторском ответе) в этом случае если ответ участника и будет отличаться от авторского, то он должен отличаться в "нужную" сторону. Но для этого нужно писать специальный чекер)

опубліковано 23.06.13, 16:51:05

Есть авторские решения с точностью, не менее, чем 10^(-9).

Мы оказались "добрее" - сравниваем с авторским модуль разницы ответа автора и пользователя. Если он (модуль разницы) не превышает 0.000000011, (что, согласитесь действительно добрее чем 0.00000001) то ответ засчитывается.

Вот так собственно и работает чекер в задачах подобного типа.

опубліковано 23.06.13, 16:52:05

AlexBurkov, та ну... Обычной проверки отличия по модулю пользовательского решения от єталоннго достаточно, если єталон с точностью хотя б на порядок вьіше чем требуется в задаче, а лучше на 2.

опубліковано 23.06.13, 16:53:49

> awpris > Есть авторские решения с точностью, не менее, чем 10^(-9). >...
Ну тогда совсем ничего не понимаю...

awpris відповів:
Всё дело в накапливаемых в процессе вычислений в Вашем решении ошибок в погрешности.
опубліковано 23.06.13, 17:04:42

>awpris Я об этом и подумал в первую очередь: изменил тип на более точный (с double на long double), уменьшил критерий остановки а тесты стало проходить хуже...