鲍曼鲍勃
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 |
###########################################################################################
任务
您的任务是渲染Bob击中或错过目标的ASCII艺术图片。对于计算:
- 您的程序将按
arrow_x,angle,velocity,distance
您希望的任何顺序接收以逗号分隔的输入。 - 一个ASCII字符等于
1m
。 - 最后一行的第一个字符具有坐标
(0,0)
,因此地面(渲染为#
)位于y=0
。 - 鲍勃总是站在地上,他的
y
位置没有改变。 - 没有上限
y
。但是,箭头顶点应适合渲染的图片。 - 所有输入均以十进制整数形式提供。
- 在计算过程中,假设箭头是一个点。
- 箭头原点是
>
射击鲍勃的箭头(请参见上文)。因此arrow_x
,必须计算arrow_y
。Bob在输出中的左脚必须与x
坐标匹配。射击鲍勃。 distance
是x
目标脚的坐标。(即目标的中间)。- 所有测量值分别以米和度为单位。
- 注意:射击鲍勃从不渲染,仅用于计算!参见下面的两个有效输出-鲍勃
- 击中目标意味着箭头路径穿过最左边的两个目标墙(
|
)中的一个(即(距离1.3)或(距离1.4)。如果在某个点上箭头位于2m²之内,则放置X,而不是它碰到的墙。目标始终是相同的高度,只有其x位置可以更改。)角击或从天上掉落到目标上的箭头不算在内。 - 适用标准接地g(9.81 m / s ^ 2)。
distance+1
是该字段的结尾,此后,所有内容都将丢失,并且不应呈现任何箭头。- 如果箭头以任何其他方式(
distance-1
等等)击中目标,则不应渲染任何箭头。
小姐
这是鲍勃失踪的示例渲染(箭头在34m处进入地面,角度为45°,在空气中停留的时间为10s,速度为〜50-但还有很多可能的输入会导致此输出。请仅说明您的程序使用了计算物理“准确”结果的常用公式。):
+-+
| |
c\ | |
/( ) v +++
L L | |
###########################################################################################
击中
这是Bob得分的示例渲染(箭头进入目标(=越过其路径)):
+-+
>--X |
\c/ | |
( ) +++
L L |
###########################################################################################
例
arrow_x
是7arrow_y
,总是3。angle
是30°
或0.523598776
弧度。velocity
是13m/s
。distance
是20。
因此,为了击中目标,箭头必须穿过(19,3)
或(19,4)
。其他一切都会错过。在这种情况下,箭头将在之后进入地面(表示y
为<1.0
)。12.9358m = ~13m
1.149s
限制和计分
- 这是代码高尔夫球,因此最短的解决方案是成功的。没有奖金。
- 您的程序(如not function)必须接受上述格式的输入,不允许其他输入。
- 您不必处理错误/毫无意义/不可能的输入。
- 打印到您的语言(std,file等)的最短合理输出。
- 我不在乎尾随空格。
- 提示:输出宽度为
distance+2
。高度是apex+1
。
5
您能否添加用于生成给定输出的输入?
—
蓝色
为什么不能发布功能?
—
Loovjo
@Mhmd如任务中所述,您必须画出他。
—
mınxomaτ
The left foot of Bob in the output has to match the x coord. of the shooting Bob.
和See below for the two valid output-Bobs
对于我们中没有比GCSE更加了解物理学(或者只是忘记了?)的人们
—
Blue Blue
@muddyfish只是谷歌的轨迹方程。
—
mınxomaτ