PS/Algorithm

[기하] 두 직사각형의 겹치는 영역 확인하기

전라남도교육지원청 2024. 7. 22. 10:21

직사각형의 위치를 다음과 같이 두 점의 좌표로 표현하자.

두 직사각형 (x1, y1), (x2, y2)와 (x3, y3), (x4, y4)가 있다.

(x1<x2, y1<y2, x3<x4, y3<y4)

 

두 직사각형이 겹치는 영역은 다음과 같이 표현할 수 있다.

 

[cpp]

int area = max(min(x2, x4) - max(x1, x3), 0) * max(min(y2, y4) - max(y1, y3), 0);

 

[python]

area = max(min(x2, x4) - max(x1, x3), 0) * max(min(y2, y4) - max(y1, y3), 0)