Квадрат#3502

Квадрат

1 секунда
64 мегабайти
Середня

Дано квадрат на [0, 1] \times [0, 1], в якому розміщено точок (P_1, P_2, \ldots, P_N) (можна припустити, що різні точки можуть займати одну й ту ж позицію). Ми можемо з'єднати точок і чотири кути квадрата відрізками так, щоб через ці відрізки будь-які дві з N + 4 точок могли досягти одна одну (безпосередньо або опосередковано). Довжина графа визначається як загальна довжина цих відрізків. Коли позиції точок фіксовані, існує спосіб їх з'єднання, який забезпечує найменшу довжину графа. Ми можемо позначити цю довжину як \mathrm{LEN}(P_1, P_2, \ldots, P_N).

У цій ситуації \mathrm{LEN}(P_1, P_2, \ldots, P_N) є функцією від P_1, P_2, \ldots, P_N. Коли P_1, P_2, \ldots, P_N змінюють свої позиції, \mathrm{LEN}(P_1, P_2, \ldots, P_N) також змінюється. Легко довести, що існують такі P_1', P_2', \ldots, P_N' в квадраті, що \mathrm{LEN}(P_1', P_2', \ldots, P_N') є мінімальною.

Знаючи початкові позиції точок, ваше завдання — знайти точок P_1'', P_2'', \ldots, P_N'' в квадраті такі, що |P_1P_1''| + |P_2P_2''| + \ldots + |P_NP_N''| є мінімальним і \mathrm{LEN}(P_1'', P_2'', \ldots, P_N'') = \mathrm{LEN}(P_1', P_2', \ldots, P_N'). Вам потрібно вивести значення |P_1P_1''| + |P_2P_2''| + \ldots + |P_NP_N''|, де |P_iP_i''| — це відстань між P_i та P_i''.

Наприклад, на Рисунку 1 показано початкову позицію P_1 і спосіб з'єднання для отримання \mathrm{LEN}(P_1). На Рисунку 2 показано позицію P_1'', яка знаходиться в центрі квадрата, і спосіб з'єднання для отримання \mathrm{LEN}(P_1''). Можна довести, що \mathrm{LEN}(P_1'') = \mathrm{LEN}(P_1'); ваше завдання — вивести відстань між P_1 та P_1''.

Вхідні дані

Вхід складається з кількох тестових випадків. Для кожного тестового випадку перший рядок містить одне ціле число (1 \leq N \leq 100), кількість точок, і далі йдуть рядків, які задають координати кожної точки у наступному форматі:

Тут та — дійсні числа в межах .

Тестовий випадок з N = 0 вказує на кінець введення і не повинен оброблятися.

Вихідні дані

Для кожного тестового випадку виведіть значення |P_1P_1''| + |P_2P_2''| + \ldots + |P_NP_N''|. Значення повинно бути округлене до трьох знаків після коми.

Приклади

Приклад 1

Loading
Loading