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

Многокутник

Многокутник

Многокутник складається з n вершин і лежить на нескінченній прямокутній сітці. Всі вершини многокутника мають цілочисельні координати. Сторони даного многокутника не перетинаються. Потрібно знайти повну довжину лінійних сегментів сітки, які лежать строго в даному многокутнику (див. малюнки нижче).

Вхідні дані

В першому рядку міститься число n (3n100 000). В кожному із наступних n рядків містяться два цілих числа − координати вершин многокутника (-5∙108x, y5∙108). Координати задаються в порядку обходу або за, або проти годинникової стрілки.

Вихідні дані

Вивести одне єдине число (з точністю до 3 знаків після десяткової крапки) − повну довжину лінійних сегментів сітки, які лежать строго в даному многокутнику.

Пояснення першого тесту

1429979622 - 1.png

  • Сумарна довжина горизонтальних ліній: 4/3 + 8/3 = 4
  • Сумарна довжина вертикальних ліній: 3 + 2 + 1 = 6
  • Тому загальна довжина рівна 4 + 6 = 10

Пояснення другого тесту

1429979622 - 2.png

  • Сумарна довжина горизонтальних ліній: 1 + 2 + 4 = 7
  • Сумарна довжина вертикальних ліній: 9/4 + 3/2 + 7/4 = 5.5
  • Тому загальна довжина рівна 7 + 5.5 = 12.5
Ліміт часу 1 секунда
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
3
5 1
2 4
1 1
Вихідні дані #1
10.000
Джерело ACM-ICPC Ukraine 2015, Перший етап Україна, 25 квітня 2015 року