QOJ.ac

QOJ

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

#8677. Carls Urlaub

Statistics

Die Ameise Carl ist zurück! Nachdem sie verschlungene Wege durchquert (Aufgabe A, Weltfinale 2004) und Oktaeder erkundet hat (Aufgabe C, Weltfinale 2009), ist es Zeit für einen kleinen Urlaub — Zeit für Sehenswürdigkeiten! Und wo könnte man die Aussicht besser genießen als auf den Spitzen hoher Bauwerke wie etwa Pyramiden!! Und wo könnte man hohe Pyramiden besser sehen als in Ägypten!!! (Das ist so aufregend!!!!!)

Nachdem Carl die Aussicht von der Spitze einer Pyramide genossen hat, möchte er zur Spitze einer anderen gelangen. Da Ameisen mit der heißen Sonne nicht besonders gut zurechtkommen, möchte er die kürzeste Strecke zwischen den Spitzen dieser beiden Pyramiden finden, wobei er nur auf den Oberflächen der Pyramiden und der Ebene laufen darf, auf der sie stehen. Geometrisch sind die Pyramiden gerade quadratische Pyramiden: Ihre Spitze liegt senkrecht über dem Mittelpunkt einer quadratischen Grundfläche.

problem_8677_3813366f844ac8208fc4d993aa17c6f6.png

Abbildung D.1: Darstellung der beiden Pyramiden zur Beispieleingabe 1. Die schwarze Linie zeigt den kürzesten Weg zwischen ihren Spitzen.

Eingabe

Die erste Eingabezeile enthält fünf ganze Zahlen $x_1,y_1,x_2,y_2,h$. Dabei definieren $x_1,y_1,x_2,y_2$ ($-10^5 \le x_1,x_2,y_1,y_2 \le 10^5$ und $(x_1,y_1) \ne (x_2,y_2)$) eine Kante der ersten Pyramide, deren Körper links vom gerichteten Vektor von $(x_1,y_1)$ nach $(x_2,y_2)$ liegt. $h$ ($1 \le h \le 10^5$) ist die Höhe der Pyramide. Die zweite Zeile beschreibt die zweite Pyramide im selben Format. Die Schnittmenge der beiden Grundflächen hat den Flächeninhalt $0$.

Ausgabe

Gib die kürzeste Strecke aus, die Carl zwischen den Spitzen der beiden Pyramiden zurücklegt. Die Antwort darf einen absoluten oder relativen Fehler von höchstens $10^{-6}$ haben.

Beispiele

Eingabe 1

0 0 10 0 4
9 18 34 26 42

Ausgabe 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.