CCF CSP 田地丈量 python
思路
对于有交集的田地,只需把坐标调整一下计算面积就可以了。至于没有交集的田地,要考虑未知田地全部在目标田地的左侧或右侧的情况。满分代码如下:
n, a, b = map(int, input().split())
landLoc = [list(map(int, input().split())) for i in range(n)]
sum = 0
for i in range(n):
'''没有交集的田地就跳过'''
if landLoc[i][0] > a or landLoc[i][1] > b or landLoc[i][2] < 0 or landLoc[i][3] < 0:
continue
if landLoc[i][0] < 0:
landLoc[i][0] = 0
if landLoc[i][1] < 0:
landLoc[i][1] = 0
if landLoc[i][2] > a:
landLoc[i][2] = a
if landLoc[i][3] > b:
landLoc[i][3] = b
sum += (landLoc[i][2] - landLoc[i][0]) * (landLoc[i][3] - landLoc[i][1])
print(sum)