Las coordenadas en el mundo de la Tierra plana consisten en latitud (x) y longitud (y), que son enteros en el rango de 0 ... 9999. Al igual que los enteros gaussianos , pero siempre se escriben usando esta notación:
411S 370E
Es decir, con S
o N
anexado a la latitud, E
o W
anexado a la longitud, con espacio (s) entre los dos componentes.
Objetivo
Escriba un programa (no una función) que lea dos coordenadas, separadas por espacios en blanco, y genere su suma. La primera coordenada es un punto de partida, la segunda es un desplazamiento y la salida es la posición resultante.
De entrada y salida
Dado que este desafío tiene que ver parcialmente con el formato, intentaré definir los formatos de entrada y salida sin ambigüedades.
El formato de entrada preferido tiene 1 espacio entre los componentes de coordenadas, sin ceros a la izquierda y un carácter de nueva línea entre las dos coordenadas. El programa debe poder leer el formato preferido.
La salida puede contener cualquier cantidad de espacios en blanco y ceros a la izquierda. Si es diferente del formato de entrada preferido, el programa también debe poder leer este formato.
Solo para que quede claro, la entrada no puede (no contendrá) ningún carácter de formato adicional. Solo espacios y líneas nuevas donde sea necesario.
Puntuación
Este es un experimento en una nueva condición ganadora. Elegiré al ganador aceptando una respuesta en unas pocas semanas. Si después aparece una mejor respuesta, cambiaré la respuesta aceptada.
La puntuación para el programa es su recuento de bytes. El programa ganador es uno que tiene menos de 400 bytes, tiene la menor cantidad de bytes, pero está escrito en el lenguaje de programación más detallado . Para determinar el ganador:
- Eliminar programas con un conteo de bytes 400 o más (pueden participar pero no pueden ganar)
- Considere solo el programa más corto para cada lenguaje de programación
- El programa más largo gana
Los políglotas compiten contra programas en todos los idiomas en los que son válidos (por ejemplo, si un programa es válido en ambos bash
y sh
compite contra programas en ambos idiomas).
Casos de prueba
En los casos de prueba, las dos primeras líneas son la entrada y la tercera línea es la salida.
0S 0E
0S 0W
0N 0E
(la dirección de cero no importa, tanto en entrada como en salida)
0S 9999E
9999N 9999W
9999N 0E
(valores máximos)
42S 314W
42N 2718W
0N 3032W
(la dirección de cero no importa en la salida)
5555N 8888W
7777S 0E
2222S 8888W
(sin valores negativos; cambie la dirección si necesita cambiar el signo)
0001N 4545W
0999N 5454W
1000N 9999W
(si el programa genera ceros iniciales y varios espacios, debe poder leerlos; también debe poder leer la entrada que no los contiene)
8888N 8888W
9999N 9999W
(entrada no válida: cualquier comportamiento es aceptable, incluido el bloqueo y el bucle infinito)