【发布时间】:2014-02-26 23:32:26
【问题描述】:
我正在与一个网站进行培训,该网站要求我制作一个程序,该程序将询问两个矩形的坐标并检查矩形是否相交。然后,当我发送程序时,网站会对其进行几次测试。它要求 A 矩形的 x min、x max、y min 和 y max,然后是 B 矩形。
这是我的工作:
xmin_a = int(input())
xmax_a = int(input())
ymin_a = int(input())
ymax_a = int(input())
xmin_b = int(input())
xmax_b = int(input())
ymin_b = int(input())
ymax_b = int(input())
if xmin_a < xmax_b <= xmax_a and (ymin_a < ymax_b <= ymax_a or ymin_a <= ymin_b < ymax_a):
print('YES')
elif xmin_a <= xmin_b < xmax_a and (ymin_a < ymax_b <= ymax_a or ymin_a <= ymin_b < ymax_a):
print('YES')
elif xmin_b < xmax_a <= xmax_b and (ymin_b < ymax_a <= ymax_b or ymin_b <= ymin_a < ymax_b):
print('YES')
elif xmin_b <= xmin_a < xmax_b and (ymin_b < ymax_a <= ymax_b or ymin_b <= ymin_a < ymax_b):
print('YES')
else:
print('NO')
不幸的是,它不起作用,我不明白为什么。有什么想法吗?
PS:http://data.france-ioi.org/Task/7b0ee4fb57949c3db1f694afcef9d1a1//exemple.png
【问题讨论】:
-
这是否合法
xmin_a < xmax_b <= xmax_a?你有没有检查过你写的语句是否像你认为的那样工作? -
是的,它工作正常。事实上,该程序有时有效,有时无效。
-
嗯,好吧,这是很奇怪的形式,至少对我来说。但是,如果您说“It sometimes works”,那么它应该指定输入、实际输出和预期输出。如果您知道测试失败,则更容易发现错误。
-
尝试编写单元测试来缩小错误范围。
-
非常抱歉。我通常会通过 Java 标记过滤我的问题。难怪我的回答被否决了。不过,语法出奇地相似! (请随意向我扔香蕉皮,因为 Python 在问题的标题中)
标签: python rectangles