Здравствуйте, m1st, Вы писали:
M>Здравствуйте, watchmaker, Вы писали:
W>>Быстрое решение — через ориентированную площадь, наименьший общий делитель и теорему Пика.
M>Можно подробнее?
А что именно не ясно?
Есть равенство
В + Г/2 − 1 = П. В нём
В — это что тебе по условию задачи требуется найти. Если перенести слагаемые из одной части уравнения в другую, то получится
В = -Г/2 + 1 + П — собственно всё, осталось только сложить три числа :)
Ориентированная площадь считается за один проход по точкам. Обычная площадь — её модуль.
Число точек на границе считается для каждого отрезка, коих N, например, алгоритмом Евклида. Что, если сильно не повезёт, в худшем случае будет работать за логарифмическое время от его длины.