티스토리 뷰

"""
 *packageName    : 
 * fileName       : 1388_바닥_장식_S4
 * author         : qkrtk
 * date           : 2022-04-10
 * description    :
 * ===========================================================
 * DATE              AUTHOR             NOTE
 * -----------------------------------------------------------
 * 2022-04-10        qkrtk       최초 생성
 """
import sys

sys.setrecursionlimit(10 ** 5)

n, m = map(int, input().split())

graph = [list(map(str, input())) for _ in range(n)]


def dfs_horizontal(x, y):
      if x < 0 or x >= n or y < 0 or y >= m:
            return False
      
      if graph[x][y] == '-':
            graph[x][y] = 'x'
            dfs_horizontal(x, y - 1)
            dfs_horizontal(x, y + 1)
            
            return True
      return False


def dfs_vertical(x, y):
      if x < 0 or x >= n or y < 0 or y >= m:
            return False
      if graph[x][y] == '|':
            graph[x][y] = 'x'
            dfs_vertical(x - 1, y)
            dfs_vertical(x + 1, y)
            return True
      return False


cnt = 0
for i in range(n):
      for j in range(m):
            if graph[i][j] == '-':
                  dfs_horizontal(i, j)
                  cnt += 1
            elif graph[i][j] == '|':
                  dfs_vertical(i, j)
                  cnt += 1

print(cnt)
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함