Задачи
Цикл точек
Цикл точек
На плоскости задано n точек, пронумерованных от 1 до n. Они образуют ориентированный цикл 1 → 2 → ... → n → 1. Вам следует выполнить следующую операцию несколько раз: по номерам двух точек a и b следует вырезать часть цикла от точки a до точки b и вставить этот кусок обратно, но только в обратном порядке, так что вырезанный кусок вставляется в порядке от b до a. Найдите длину конечного цикла.
Входные данные
Первая строка содержит два числа n и m (3 ≤ n, m ≤ 100000). Следующие n строк содержат два числа xi
и yi
- координаты i-ой точки. Следующие m строк содержат два числа ai
и bi
- номера точек i-ой операции.
Выходные данные
Вывести длину финального цикла с двумя десятичными знаками.
Объяснение
- Начальный цикл: 1 → 2 → 3 → 4 → 5 → 1
- После первой операции: 1 → 5 → 3 → 4 → 2 → 1 (часть 5 → 1 → 2 заменяется на 2 → 1 → 5)
- После второй операции: 1 → 2 → 4 → 3 → 5 → 1 (часть 5 → 3 → 4 → 2 заменяется на 2 → 4 → 3 → 5)
- После третьей операции: 1 → 2 → 5 → 3 → 4 → 1
Входные данные #1
5 3 0 0 1 0 2 0 2 2 0 2 5 2 5 2 4 5
Выходные данные #1
10.89