Сообщение 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 остается.
_>Поэтому остается вопрос: либо алгоритм вычисления не подходит (что очень странно), либо тест содержит какой-то частный случай (но какой??? )....
Похоже бага в тесте, входные данные выходят за ограничение
Ибо заменив тип коэффициентов на double — тест полностью проходит.
Видно тест валится из-за переполнения типа int — максимум и минимум коэффициентов ограничен 2 * 1000 * 1000. Тип int платформонезависимый — может на 16 битной платформе тестируют?
_>"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 остается.
_>Поэтому остается вопрос: либо алгоритм вычисления не подходит (что очень странно), либо тест содержит какой-то частный случай (но какой??? )....
Похоже бага в тесте, входные данные выходят за ограничение?
Ибо заменив тип коэффициентов на double — тест полностью проходит.
Видно тест валится из-за переполнения типа int — максимум и минимум коэффициентов ограничен 2 * 1000 * 1000.
Хотя тип int платформонезависимый — может на 16 битной платформе тестируют?
_>"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 битной платформе тестируют?