campanie

Time limit: 2s Memory limit: 128MB Input: campanie.in Output: campanie.out

Un candidat la preşedinţia unui mare stat al lumii a intrat în campania electorală. Pentru a obţine cât mai multe voturi, echipa de campanie doreşte ca timpul fără activitate electorală să fie cât mai mic. Acest timp se măsoară prin distanţa pe care o parcurge mergând cu avionul între oraşe şi prin deplasarea în interiorul oraşelor pe drumuri fără alegători. Toate oraşele alese pentru campanie au aceeaşi structură arhitecturală, adică fiecare conţine câte două aeroporturi notate cu ASAS şi APAP, ASAS numai pentru sosiri, iar APAP numai pentru plecări. Străzile fiecărui oraş sunt paralele, două străzi paralele consecutive sunt legate prin drumuri fără alegători, punctele unde se face legătura cu acestea sunt intersecţii. Orice două intersecţii de pe străzi paralele consecutive sunt legate printr-un drum, în linie dreaptă. Toate străzile au case şi implicit şi alegători. ASAS este pe prima stradă, în punctul cel mai din stânga jos, iar APAP pe ultima stradă, cea mai din dreapta a oraşului.

Un exemplu de structură arhitecturală pentru un oraş este prezentat mai jos.

Echipa de campanie are la dispoziţie o hartă cu coordonatele aeroporturilor a NN oraşe şi NN hărţi, câte una pentru fiecare oraş, cu coordonatele intersecţiilor de pe fiecare stradă.
Sistemul de coordonate pentru fiecare oraş are originea în aeroportul pentru sosiri ASAS, străzile fiind paralele cu axa ordonatelor, iar aeroportul pentru plecări APAP se află pe ultima stradă (cea mai din dreapta). Axa ordonatelor este prima stradă (cea mai din stânga stradă).
Plecarea în campanie se face dintr-un aeroport de sosiri a unui oraş, iar sfârşitul pe acelaşi aeroport. Obligatoriu candidatul trece prin toate aeroporturile.

Cerință

Determinaţi timpul minim fără activitate electorală în campania pentru preşedinţie.

Date de intrare

Fişierul de intrare campanie.in va avea următoarea structură:

  • pe prima linie se află NN, numărul de oraşe
  • pe următoarele linii se află datele pentru structura arhitecturală a fiecărui oraş: o linie cu coordonatele aeroporturilor xAS yAS xAP yAPx_{AS} \ y_{AS} \ x_{AP} \ y_{AP}, separate prin câte un spaţiu, o linie cu numărul kk de străzi urmat de k1k-1 numere cu distanţele dintre două străzi consecutive, separate prin câte un spaţiu de la stânga la dreapta, apoi kk linii cu poziţiile intersecţiilor de pe fiecare stradă în formatul: h y1 y2 yhh \ y_1 \ y_2 \dots \ y_h, unde y1 y2 yhy_1 \ y_2 \dots \ y_h sunt ordonatele intersecţiilor.

Date de ieșire

Fişierul de iesire campanie.out va conţine un singur număr natural reprezentând timpul minim fără activitate electorală în campania pentru preşedinţie.

Restricții și precizări

  • NN este număr natural proprietatea că 2N182 \leq N \leq 18
  • Distanţa parcursă între două oraşe sau două intersecţii de coordonate (x1,y1)(x_1, y_1) şi (x2,y2)(x_2, y_2) se defineşte ca fiind (x1x2)2+(y1y2)2(x_1 - x_2)^2 + (y_1 - y_2)^2.
  • Numărul de străzi dintr-un oraş 1 000\leq 1 \ 000.
  • Numărul de intersecţii de pe o stradă 1 000\leq 1 \ 000.
  • Distanţele dintre două străzi consecutive ale aceluiaşi oraş 1 000\leq 1 \ 000.
  • Toate ordonatele intersecţiilor dintr-un oraş şi cea a aeroportului pentru plecări sunt 10 000\leq 10 \ 000.
  • Coordonatele pe harta cu oraşe sunt numere întregi din intervalul [10 000,10 000][-10 \ 000, 10 \ 000].

Exemplu

campanie.in

3
100 0 30 0
3 10 20
2 0 20
2 10 20
3 10 30 0
0 0 10 0
2 100
1 0
2 0 10
200 0 300 0
2 100
1 0
1 0

campanie.out

97500

Explicație

Ordinea oraşelor în care va ajunge candidatul este 1,2,31, 2, 3. În oraşul 11 timpul fără activitate electorală va fi 500500, în oraşul 22 va fi 1000010000, iar în oraşul 33 va fi 1000010000.

Log in or sign up to be able to send submissions!