-
[백준 문제풀이] 얼렁뚱땅 2583 영역구하기 풀이얼렁뚱땅 백준 문제풀이 2022. 9. 28. 11:02
https://www.acmicpc.net/problem/2583
2583번: 영역 구하기
첫째 줄에 M과 N, 그리고 K가 빈칸을 사이에 두고 차례로 주어진다. M, N, K는 모두 100 이하의 자연수이다. 둘째 줄부터 K개의 줄에는 한 줄에 하나씩 직사각형의 왼쪽 아래 꼭짓점의 x, y좌표값과 오
www.acmicpc.net
import sys sys.setrecursionlimit(10000000) n, m, num = map(int,input().split()) visited = [[0]*m for _ in range(n)] for i in range(num) : start_x, start_y, end_x, end_y = map(int,input().split()) for j in range(start_y,end_y) : visited[j][start_x:end_x] = [1] * (end_x - start_x) dx = [0, 0, 1, -1] dy = [1, -1, 0, 0] def dfs(x,y) : global count count += 1 visited[x][y] = 1 for i in range(4) : nx = x + dx[i] ny = y + dy[i] if 0<=nx<n and 0<=ny<m : if visited[nx][ny] == 0 : dfs(nx,ny) answer = [] many = 0 for i in range(n) : for j in range(m) : if visited[i][j] == 0 : many += 1 count = 0 dfs(i,j) answer.append(count) answer.sort() print(many) print(*answer)
'얼렁뚱땅 백준 문제풀이' 카테고리의 다른 글
[백준 문제풀이] 얼렁뚱땅 2116 주사위 쌓기 풀이 (0) 2022.09.28 [백준 문제풀이] 얼렁뚱땅 20310 타노스 풀이 (0) 2022.09.28 [백준 문제풀이] 얼렁뚱땅 1522 문자열 교환 풀이 (0) 2022.09.28 [백준 문제풀이] 얼렁뚱땅 1244 스위치 켜고 끄기 풀이 (0) 2022.09.28 [백준 문제풀이] 얼렁뚱땅 14712 넴모넴모(Easy) 풀이 (0) 2022.09.26