Информация об изменениях

Сообщение Re[7]: Загадочная точка от 25.07.2015 22:35

Изменено 25.07.2015 22:36 omgOnoz

Здравствуйте, olimp_20, Вы писали:

_>"1.0*" — специально использовано для приведения int в double (правилам приведения на С (и на С++))

_>Но даже, если построить монстров (с точки зрения нагромождения записей)
_>double x = (-1.0*(C1*B2-C2*B1))/(1.0*det);
_>double y = (-1.0*(A1*C2-A2*C1))/(1.0*det);
_>проблема с тестом №14 остается.
_>Поэтому остается вопрос: либо алгоритм вычисления не подходит (что очень странно), либо тест содержит какой-то частный случай (но какой??? )....

Похоже бага в тесте, входные данные выходят за ограничение

Координаты каждой точки — по модулю не превышающие 1000.


Ибо заменив тип коэффициентов на double — тест полностью проходит.

Видно тест валится из-за переполнения типа int — максимум и минимум коэффициентов ограничен 2 * 1000 * 1000. Тип int платформонезависимый — может на 16 битной платформе тестируют?
Здравствуйте, olimp_20, Вы писали:

_>"1.0*" — специально использовано для приведения int в double (правилам приведения на С (и на С++))

_>Но даже, если построить монстров (с точки зрения нагромождения записей)
_>double x = (-1.0*(C1*B2-C2*B1))/(1.0*det);
_>double y = (-1.0*(A1*C2-A2*C1))/(1.0*det);
_>проблема с тестом №14 остается.
_>Поэтому остается вопрос: либо алгоритм вычисления не подходит (что очень странно), либо тест содержит какой-то частный случай (но какой??? )....

Похоже бага в тесте, входные данные выходят за ограничение?

Координаты каждой точки — по модулю не превышающие 1000.


Ибо заменив тип коэффициентов на double — тест полностью проходит.

Видно тест валится из-за переполнения типа int — максимум и минимум коэффициентов ограничен 2 * 1000 * 1000.

Хотя тип int платформонезависимый — может на 16 битной платформе тестируют?