백준 2527 - 직사각형 (파이썬)
글 작성자: pental
https://www.acmicpc.net/problem/2527
풀이
두 직사각형이 주어졌을 때, 겹치는 영역이 어떤 형태인지 판단하는 문제이다.
다양한 겹침의 경우를 다음 네가지 중 하나로 분류해야한다.
- a → 직사각형이 겹치는 경우 (면적으로 겹침)
- b → 직사각형이 선분으로 겹침
- c → 꼭짓점만 겹침
- d → 전혀 겹치지 않음
x축 겹침 여부 판단 및 y축 겹침 여부 판단을 진행하면 된다.
위에서 구한 x_intersection, y_intersection 값을 조합해서 미리 정의된 결과 테이블에서 문자를 출력하면 답을 쉽게 구할 수 있다.
코드
# 백준 2527 - 직사각형
# 분류 : 기하학
answer = [
['d', 'd', 'd'],
['d', 'c', 'b'],
['d', 'b', 'a']
]
for _ in range(4) :
x1, y1, x2, y2, x3, y3, x4, y4 = map(int, input().split())
# x축
if x2 < x3 or x4 < x1 :
x_intersection = 0
elif x2 == x3 or x4 == x1 :
x_intersection = 1
else :
x_intersection = 2
# y축
if y2 < y3 or y4 < y1 :
y_intersection = 0
elif y2 == y3 or y4 == y1 :
y_intersection = 1
else :
y_intersection = 2
print(answer[x_intersection][y_intersection])
'Programming > 백준' 카테고리의 다른 글
백준 2506 - 점수계산 (파이썬) (0) | 2025.03.30 |
---|---|
백준 2485 - 가로수 (파이썬) (0) | 2025.03.30 |
백준 2460 - 지능형 기차 2 (파이썬) (0) | 2025.03.28 |
백준 2526 - 싸이클 (파이썬) (0) | 2025.03.28 |
백준 2530 - 인공지능 시계 (파이썬) (0) | 2025.03.28 |
댓글
이 글 공유하기
다른 글
-
백준 2506 - 점수계산 (파이썬)
백준 2506 - 점수계산 (파이썬)
2025.03.30 -
백준 2485 - 가로수 (파이썬)
백준 2485 - 가로수 (파이썬)
2025.03.30 -
백준 2460 - 지능형 기차 2 (파이썬)
백준 2460 - 지능형 기차 2 (파이썬)
2025.03.28 -
백준 2526 - 싸이클 (파이썬)
백준 2526 - 싸이클 (파이썬)
2025.03.28