-
카테고리
-
세부 분야
알고리즘 · 자료구조
-
해결 여부
미해결
dfs 로는 풀 수 없을까요?
21.04.22 09:45 작성 조회수 83
0
안녕하세요,
유익한 강의 정말 잘 듣고 있습니다.
이러한 강의를 만들어주셔서 감사합니다.
다름이 아니라 dfs로 풀려고 하는데 층이 잘 세어지지 않아서 문제가 발생합니다
import sys
from collections import deque
sys.stdin=open("input.txt", "r")
def DFS(x,y):
global cnt
for k in range(4):
xx=x+dx[k]
yy=y+dy[k]
if 0<=xx<m and 0<=yy<n and num[xx][yy]==0 and ch[xx][yy]==0:
ch[xx][yy]=ch[x][y]+1
num[xx][yy]=1
DFS(xx,yy)
if __name__=="__main__":
dx=[-1,0,1,0]
dy=[0,-1,0,1]
n,m=map(int,input().split())
num=[list(map(int,input().split())) for _ in range(m)]
ch=[[0]*n for _ in range(m)]
for i in range(m):
for j in range(n):
if num[i][j]==1 and ch[i][j]==0:
DFS(i,j)
ch를 출력하면 정답 코드와 다르게 출력이 되는데, 이를 해결할 방법은 없을까요? 오랫동안 고민하다가 여쭙습니다.
감사합니다 ^^ 좋은 하루보내세요
답변을 작성해보세요.
1
답변 1