Час

10:25:31
25 May 2012
Версія для друку

Сомневающееся начальство

   На координатной прямой заданы N вершин, и надо многократно находить кратчайший среди путей, проходящих через эти вершины и и возвращающихся в начальную. (Длина пути равна сумме длин составляющих его отрезков, длину одного отрезка можно посчитать по формуле prb807.) Зачем один и тот же путь находить многократно? А он не один и тот же - начальство никак не определится, какие из этих N вершин в самом деле нужны, а какие нет. И поэтому приходится для одного и того же набора вершин обрабатывать разные запросы, отличающиеся набором нужных вершин. В каком порядке обходить нужные вершины и какую из них выбрать в качестве начальной (она же конечная), выбирает не начальство, а тот, кто ищет минимальный путь.


Технічні умови

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

   В первой строке задано количество вершин N (4N17). В каждой из последующих N строк заданы по два целых числа, не превышающих по модулю 106 - x- и y-координаты очередной вершины. В следующей строке задано число Q - количество запросов от начальства (оно не ограничено явно, но гарантировано, что все запросы разные). Каждая из последующих Q строк содержит запрос в формате: сначала количество K (3KN) вершин, через которые надо пройти, потом номера этих вершин (каждый номер в пределах от 1 до N, все вершины в одном запросе разные.

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

   Программа должна вывести Q строк, в каждой из которых - единственное действительное число, равное ответу на соответствующий запрос. Ответ вывести с точностью 2 знака после десятичной точки.


Інформація про задачу

Ліміт часу: 2 секунди
Ліміт пам`яті: 256 MB
Бали за пройдений тест: 6.25
Складність: 40% 3/5

Приклад

Приклад вхідних даних

4
0 0
10 0
0 10
10 10
2
4 1 2 3 4
3 1 2 4

Приклад вихідних даних

40
34.142136


← Платформы - 3 Список задач Путь через горы →