QOJ.ac

QOJ

Time Limit: 1 s Memory Limit: 2048 MB Total points: 100

#8677. As férias de Carl

Statistics

A formiga Carl está de volta! Depois de percorrer caminhos sinuosos (problema A da Final Mundial de 2004) e passear sobre octaedros (problema C da Final Mundial de 2009), é hora de umas pequenas férias — hora de conhecer as atrações! E onde melhor apreciar a vista do que no topo de estruturas altas como, digamos, pirâmides!! E onde melhor ver pirâmides altas do que no Egito!!! (Isto é tão emocionante!!!!!)

Depois de apreciar a vista do topo de uma pirâmide, Carl gostaria de ir ao topo de outra. Como as formigas não se dão particularmente bem sob o sol quente, ele quer encontrar a distância mínima a percorrer entre os topos dessas duas pirâmides, supondo que só possa caminhar pelas superfícies das pirâmides e pelo plano sobre o qual elas estão. Geometricamente, as pirâmides são pirâmides retas de base quadrada, ou seja, o vértice fica diretamente acima do centro de uma base quadrada.

problem_8677_3813366f844ac8208fc4d993aa17c6f6.png

Figura D.1: Ilustração das duas pirâmides correspondentes à entrada de exemplo 1. A linha preta mostra o caminho mais curto entre os vértices.

Entrada

A primeira linha da entrada contém cinco inteiros $x_1,y_1,x_2,y_2,h$, em que $x_1,y_1,x_2,y_2$ ($-10^5 \le x_1,x_2,y_1,y_2 \le 10^5$ e $(x_1,y_1) \ne (x_2,y_2)$) definem uma aresta da primeira pirâmide, com o corpo da pirâmide à esquerda do vetor dirigido de $(x_1,y_1)$ para $(x_2,y_2)$, e $h$ ($1 \le h \le 10^5$) é a altura da pirâmide. A segunda linha descreve a segunda pirâmide no mesmo formato. A interseção das bases das duas pirâmides tem área $0$.

Saída

Imprima a distância mínima que Carl percorre entre os topos das duas pirâmides. A resposta deve ter erro absoluto ou relativo de, no máximo, $10^{-6}$.

Exemplos

Entrada 1

0 0 10 0 4
9 18 34 26 42

Saída 1

60.866649532

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.