Boj-2667 단지번호붙이기

Yewon Choi·2021년 1월 21일
0

문제해결

목록 보기
9/9
import sys
sys.setrecursionlimit(10**6)
n = int(input())
d = [list(map(int,input())) for _ in range(n)]
dx = [-1,1,0,0]
dy = [0,0,-1,1]

def dfs(x,y):
    global h
    if x <= -1 or y <= -1 or x >= n or y >= n:
        return False
    if d[x][y] == 1:
        d[x][y] = 2
        h += 1
        for i in range(4):
            nx = x + dx[i]
            ny = y + dy[i]
            dfs(nx, ny)
        return True
    return False

house = []
cnt = 0
for i in range(n):
    for j in range(n):
        h = 0
        if dfs(i,j) == True:
            cnt += 1
            house.append(h)
house.sort()
print(cnt)
for h in house: print(h)
profile
https://github.com/devAon 찰나의 개발흔적을 남기는 개발블로그 입니다 🐥 https://aonee.tistory.com 에서 Velog로 블로그 이전 작업중입니다 ! 🎶

0개의 댓글