подсказку кто решил, не могу пройти 3 теста.
Там есть телефон который движется по отрезкам, и есть несколько станций. Надо найти телефон подключен к какой станций в какой цветовой зоне.
ТАм сказана что цветовой зоне поменяется каждый раз, можности сигнала уменьшится на 2 децибеля.
И в конце есть формула , два можности различается по логарифмический, точнее 10 *log10(Wb/Wa) , отсюда выйдет, что Wb = Wa*10^0.2 то есть каждый раз когда можност уменшится на 10^0.2 раз, цветовой зоне меняется.
Это означает, каждая станция имеет R, R*10^0.2 , R*10^0.4 , R*10^0.6, R*10^0.8, R*10, R*10^1.2 R*10^inifinity радиус зоне ?
Как подзадачу, есть два круга: B: center = (-9990, 9999) , R = 9990 C: center = (-10000, 9999), R = 10000 и есть один направленный отрезок, start = (9999, 10000) , finish = (-10000, 9998) человек с какой кругом сначала пересекается, если он в этой отрезки будет идти от start до finish точке? У меня оба пересекается в одном точке P = (-0.00000000000363797881, 9999.00005000249984732363) но боюсь, это изза неточности floating data type. использую C++, double.
тогда можно же использовать сравнение по эпселону
Обсуждают сегодня