600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 赛码习题:黑默丁格的炮台

赛码习题:黑默丁格的炮台

时间:2018-08-12 22:51:55

相关推荐

赛码习题:黑默丁格的炮台

题目描述

兰博教训了提莫之后,然后和提莫讨论起约德尔人,谈起约德尔人,自然少不了一个人,那就是黑默丁格——约德尔人历史上最伟大的科学家。

提莫说,黑默丁格最近在思考一个问题:黑默丁格有三个炮台,炮台能攻击到距离它R的敌人,(两点之间的距离为两点连线的距离,例如(3,0)和(0,4)之间的距离是5),如果一个炮台能攻击到敌人,那么会对敌人造成1X的伤害。黑默丁格将三个炮台放在N*M方格中的点上,并且给出敌人的坐标。

问:那么敌人受到伤害会是多大?

代码如下:

R,x1,y1,x2,y2,x3,y3,x0,y0 = map(int, input().split())# 计算距离def distances(x,y,x0,y0):d = pow((x-x0)**2+(y-y0)**2,0.5)return dd1 = distances(x1,y1,x0,y0)d2 = distances(x2,y2,x0,y0)d3 = distances(x3,y3,x0,y0)if d1>R and d2>R and d3>R:print("{}X".format(0))elif d1<R and d2<R and d3<R:print("{}X".format(3))elif (d1>R and d2<R and d3<R)or(d2>R and d3<R and d1<R)or(d3>R and d2<R and d1<R):print("{}X".format(2))else:print("{}X".format(1))

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。