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

Цикл точек

Цикл точек

На плоскости задано n точек, пронумерованных от 1 до n. Они образуют ориентированный цикл 12 → ... → n1. Вам следует выполнить следующую операцию несколько раз: по номерам двух точек a и b следует вырезать часть цикла от точки a до точки b и вставить этот кусок обратно, но только в обратном порядке, так что вырезанный кусок вставляется в порядке от b до a. Найдите длину конечного цикла.

Входные данные

Первая строка содержит два числа n и m (3n, m100000). Следующие n строк содержат два числа xi и yi - координаты i-ой точки. Следующие m строк содержат два числа ai и bi - номера точек i-ой операции.

Выходные данные

Вывести длину финального цикла с двумя десятичными знаками.

Объяснение

  1. Начальный цикл: 123451
  2. После первой операции: 153421 (часть 512 заменяется на 215)
  3. После второй операции: 124351 (часть 5342 заменяется на 2435)
  4. После третьей операции: 125341
Лимит времени 1 секунда
Лимит использования памяти 128 MiB
Входные данные #1
5 3
0 0
1 0
2 0
2 2
0 2
5 2
5 2
4 5
Выходные данные #1
10.89
Автор Алексей Щепин
Источник ACM-ICPC Ukraine 2013, 2nd Stage Ukraine, September 10-12, 2013