[F] Longitud de corte
tiempo límite por test | 0.5 segundos |
memoria límite por test | 256 MB |
entrada | entrada estándar |
salida | salida estándar |
Te dan un n-góno(un polígono de n lados) simple (sin intersecciones entre sus lados adyacentes) no necesariamente convexo. También te dan rectas. Para cada recta debes encontrar la longitud entre los puntos más lejanos que tienen en común la recta y el n-góno.
Los bordes del n-góno pertenecen al polígono. Y se puede dar que el n-góno contenga ángulos de 180 grados.
Entrada
La primera línea contiene dos enteros y (; ). Las siguientes líneas contienen las coordenadas de los vértices del polígono (en dirección de reloj o contrarreloj). Todos los vértices son distintos.
Las siguiente líneas contienen descripciones de las rectas. Cada una contiene las coordenadas de dos puntos distintos de la recta.
Todas las coordenadas dadas son números reales, con a lo más dos dígitos decimales. Además, sus valores absolutos no exceden a .
Salida
Imprime líneas, cada i-ésima línea debería tener la longitud entre los puntos más lejanos que tienen en común el n-góno y la i-ésima recta. La respuesta se considera correcta si el margen de error absoluto o relativo no excede a .
Ejemplos
input:
4 3
0 0
1 0
1 1
0 1
0 0 1 1
0 0 0 1
0 0 1 -1
output:
1.41421356237309514547
1.00000000000000000000
0.00000000000000000000