Bob el arquero
o
/( )\ This is Bob.
L L Bob wants to be an archer.
#############
.
/ \ <--- bow So he bought himself a
(c -)-> <--- arrow nice longbow and is about
( )/ <--- highly focused Bob shoot at a target.
L L
#############
___________________________________________________________________________________________
sky
Bob is a smart guy. He already knows what angle and
velocity his arrow has / will have. But only YOU know
the distance to the target, so Bob doesn't know if he
will hit or miss. This is where you have to help him.
. +-+
/ \ | |
(c -)-> | |
( )/ +++
L L |
###########################################################################################
Tarea
Su tarea es representar una imagen artística ASCII de Bob golpeando o perdiendo el objetivo. Para el cálculo:
- Su programa recibirá
arrow_x,angle,velocity,distancecomo entrada separada por comas en el orden que desee. - Un carácter ASCII es igual
1m. - El primer carácter en la última línea tiene las coordenadas
(0,0), por lo que el terreno (representado como#) está eny=0. - Bob siempre se para en el suelo, su
yposición no cambia. - No hay max
y. Sin embargo, el vértice de las flechas debe caber dentro de la imagen renderizada. - Toda la entrada se proporciona como un entero decimal.
- Durante el cálculo, suponga que la flecha es un punto.
- El origen de la flecha es la punta
>de flecha de un Bob disparador (ver arriba). Entonces dadoarrow_x, tienes que calculararrow_y. El pie izquierdo de Bob en la salida tiene que coincidir con elxcoord. del tiroteo Bob. distancees laxcoordenada del pie del objetivo . (es decir, el centro del objetivo).- Todas las medidas se suministran en metros y grados respectivamente.
- Atención: ¡ el disparo Bob nunca se procesa, solo se usa para cálculos! Vea a continuación los dos Bobs de salida válidos
- Golpear el objetivo significa que el camino de las flechas cruza cualquiera de las dos paredes del objetivo más a la izquierda (
|) (Eso es (distancia-1,3) o (distancia-1,4). Si en algún momento la flecha está dentro de esos 2m², coloque la X en lugar del muro que golpea. El objetivo siempre tiene la misma altura y solo su posición x puede cambiar). Los golpes de esquina o una flecha que cae del cielo sobre el objetivo no cuentan. - Se aplica tierra estándar g (9.81 m / s ^ 2).
distance+1es el final del campo, después de eso, todo es un error y no se debe mostrar ninguna flecha.- Si la flecha alcanza el objetivo de cualquier otra manera (
distance-1etc.), no se debe representar ninguna flecha.
Perder
Este es un ejemplo de la falta de Bob (la flecha entra al suelo a 34 m, el ángulo es de 45 °, el tiempo en el aire es de 10 s, la velocidad es de ~ 50, pero hay muchas más entradas posibles para causar esta salida. Simplemente muestre que su programa usa fórmulas habituales para calcular resultados físicamente "precisos"):
+-+
| |
c\ | |
/( ) v +++
L L | |
###########################################################################################
Golpear
Este es un ejemplo de representación de la puntuación de Bob (la flecha entra en el objetivo (= cruza su camino)):
+-+
>--X |
\c/ | |
( ) +++
L L |
###########################################################################################
Ejemplo
arrow_xes 7.arrow_yes siempre 3.anglees30°o0.523598776radianes.velocityes13m/s.distancees 20.
Entonces, para alcanzar el objetivo, la flecha tiene que cruzar (19,3)o (19,4). Todo lo demás será una señorita. En este caso, la flecha entrará al suelo (los medios yestarán <1.0) 12.9358m = ~13mdespués 1.149s.
Límites y puntuación
- Este es el código de golf , por lo que gana la solución más corta. No hay bonos
- Su programa (como no funciona ) debe aceptar entradas en el formato descrito anteriormente, no se permiten entradas adicionales.
- No tiene que manejar entradas incorrectas / sin sentido / imposibles.
- Imprima a la salida razonable más corta para su idioma (estándar, archivo, ...).
- No me importa arrastrar espacios en blanco.
- Consejo: el ancho de salida es
distance+2. La altura esapex+1.

The left foot of Bob in the output has to match the x coord. of the shooting Bob.ySee below for the two valid output-BobsRespuestas:
Rubí, 482
Sin golf
Método
La ecuación principal aquí es:
Nota: imagen tomada de https://en.wikipedia.org/wiki/Trajectory_of_a_projectile
Dónde,
Lo que estoy haciendo es recorrer los números del 0 al (distancia -1) y en cada iteración verificar si la flecha toca el suelo (o el objetivo)
fuente