Algorithm/백준

[백준 알고리즘] 2583번: 영역 구하기 (DFS, Python)

에릭 Kim 2023. 7. 5. 17:47
반응형

https://www.acmicpc.net/problem/2583

 

2583번: 영역 구하기

첫째 줄에 M과 N, 그리고 K가 빈칸을 사이에 두고 차례로 주어진다. M, N, K는 모두 100 이하의 자연수이다. 둘째 줄부터 K개의 줄에는 한 줄에 하나씩 직사각형의 왼쪽 아래 꼭짓점의 x, y좌표값과 오

www.acmicpc.net

 

소스코드

 

 

풀이

★ 입력받은 대로 직사각형을 그려보면 예시와는 다르게 위 아래가 반대로 나옵니다 ! 하지만 그 상대로 풀어도 무방합니다.

 

★ 상하좌우를 탐색하면서 직사각형으로 덮인 영역이 아닌 곳을 찾아줍니다. 출력으로 영역의 넓이 또한 필요하기 때문에 찾을 때마다 넓이를 1씩 증가시킵니다.

 

★ 인접한 영역을 모두 찾은 경우에는 영역의 넓이를 리스트에 추가한 뒤, 다시 1로 초기화 해야 합니다. 

 

★ 재귀의 제한을 늘려주기 위해 다음 코드를 추가해줬습니다 :) 

sys.setrecursionlimit() 

반응형