Koordinaten in der Welt der flachen Erde bestehen aus Breitengrad (x) und Längengrad (y), die ganze Zahlen im Bereich von 0 bis 9999 sind. Ähnlich wie Gaußsche Ganzzahlen , aber sie werden immer mit dieser Notation geschrieben:
411S 370E
Das heißt, mit S
oder N
an den Breitengrad angehängt und E
oder W
an den Längengrad angehängt, mit Zwischenräumen zwischen den beiden Komponenten.
Tor
Schreiben Sie ein Programm (keine Funktion), das zwei durch Leerzeichen getrennte Koordinaten liest und deren Summe ausgibt. Die erste Koordinate ist ein Startpunkt, die zweite ist eine Verschiebung und die Ausgabe ist die resultierende Position.
Input-Output
Da es bei dieser Herausforderung teilweise um die Formatierung geht, werde ich versuchen, die Eingabe- und Ausgabeformate eindeutig zu definieren.
Das bevorzugte Eingabeformat hat 1 Leerzeichen zwischen den Koordinatenkomponenten, keine führenden Nullen und ein Zeilenumbruchzeichen zwischen den beiden Koordinaten. Das Programm muss das bevorzugte Format lesen können.
Die Ausgabe kann beliebig viele Leerzeichen und führende Nullen enthalten. Wenn es sich vom bevorzugten Eingabeformat unterscheidet, muss das Programm auch dieses Format lesen können.
Um dies zu verdeutlichen, darf (wird) die Eingabe keine zusätzlichen Formatierungszeichen enthalten. Nur Leerzeichen und Zeilenumbrüche, wo nötig.
Wertung
Dies ist ein Experiment zu einer neuen Gewinnbedingung. Ich werde den Gewinner auswählen, indem ich in ein paar Wochen eine Antwort akzeptiere. Wenn danach eine bessere Antwort erscheint, ändere ich die akzeptierte Antwort.
Die Punktzahl für das Programm ist die Anzahl der Bytes. Das Gewinnerprogramm ist kürzer als 400 Byte, hat die geringste Byteanzahl, ist jedoch in der ausführlichsten Programmiersprache geschrieben. So ermitteln Sie den Gewinner:
- Entfernen Sie Programme mit einer Byteanzahl von 400 oder mehr (sie können teilnehmen, aber nicht gewinnen).
- Betrachten Sie nur das kürzeste Programm für jede Programmiersprache
- Das längste Programm gewinnt
Polyglots konkurrieren mit Programmen in allen Sprachen, in denen sie gültig sind (z. B. wenn ein Programm in beiden Sprachen gültig ist bash
und sh
mit Programmen in beiden Sprachen konkurriert).
Testfälle
In den Testfällen sind die ersten beiden Zeilen die Eingabe und die dritte Zeile die Ausgabe.
0S 0E
0S 0W
0N 0E
(Die Richtung von Null spielt sowohl bei der Eingabe als auch bei der Ausgabe keine Rolle.)
0S 9999E
9999N 9999W
9999N 0E
(Maximalwerte)
42S 314W
42N 2718W
0N 3032W
(Die Richtung von Null spielt in der Ausgabe keine Rolle.)
5555N 8888W
7777S 0E
2222S 8888W
(keine negativen Werte; ändern Sie die Richtung, wenn Sie das Vorzeichen ändern müssen)
0001N 4545W
0999N 5454W
1000N 9999W
(Wenn das Programm führende Nullen und mehrere Leerzeichen ausgibt, muss es diese lesen können; es muss auch Eingaben lesen können, die sie nicht enthalten.)
8888N 8888W
9999N 9999W
(ungültige Eingabe - jedes Verhalten ist akzeptabel, einschließlich Absturz und Endlosschleife)