Einführung
Die Arena ist ein Flachland mit Wolkenkratzern, die Ihre Feinde als Deckung nutzen. Sie und Ihre Feinde schießen sich gegenseitig mit Lasern. Sie tragen alle Jet-Packs, die den Flug ermöglichen.
Welche Feinde kannst du mit deinem Laser treffen und welche verstecken sich?
Problem
Zunächst wird die Größe einer Arena durch eine ganze Zahl nin einer einzelnen Zeile angegeben. Die folgenden nZeilen enthalten nganze Zahlen pro Zeile, die durch ein Leerzeichen getrennt sind. Jede Ganzzahl repräsentiert die Höhe des Gebäudes an dieser Stelle. Jedes Gebäude ist ein rechteckiger Körper, 1 Einheit mal 1 Einheit mal Höheneinheit.
Als nächstes wird Ihr Standort auf einer einzige Zeile als drei Gleitkommazahlen gegeben x, y, z.
Schließlich wird die Anzahl der Feinde durch eine ganze Zahl min einer einzelnen Zeile angegeben. Die folgenden mZeilen enthalten drei Gleitkommazahlen pro Zeile, die durch ein Leerzeichen getrennt sind. Diese stellen die x, yund zKoordinaten eines Feindes. Das Koordinatensystem ist wie folgt definiert:
xwird in der Stadteingabe von links nach rechts gemessenywird von oben nach unten gemessenzwird von Grund auf gemessen
Wenn für jeden Feind eine freie Linie von Ihnen zu diesem Feind gezogen werden kann, geben Sie eine positive ganze Zahl aus. Andernfalls geben Sie eine negative Ganzzahl aus. Ausgänge durch eine neue Zeile trennen.
Sample Input
Mit '#' gekennzeichnete Kommentare helfen Ihnen dabei, schnell zu erkennen, was die einzelnen Zeilen bewirken. Sie sind in der tatsächlichen Eingabe nicht vorhanden.
5 # Size of the map
0 0 0 0 0 # Buildings
0 0 0 0 0 # Buildings
4 4 4 4 4 # Buildings
0 0 0 0 0 # Buildings
0 0 0 0 0 # Buildings
2.5 0.0 4.0 # Your location
3 # Number of enemies
2.5 5.0 0.1 # Enemy location
2.5 5.0 5.0 # Enemy location
0.0 2.7 4.5 # Enemy location
Beispielausgabe
Für die obige Beispieleingabe geben wir Folgendes aus:
-1
1
1
Annahmen
- 0
n<<100 - 0
m<<100 - 0 <=
x<=n - 0 <=
y<=n - 0 <=
z<n - Die Spieler werden sich nicht an oder innerhalb einer Ecke, Kante oder Seite eines Gebäudes befinden
- Ihre Sichtlinie auf einen Feind wird niemals die Ecke, den Rand oder die Seite eines Gebäudes berühren
- Ein Spieler ist kein Hindernis