importcollectionsimportsysfromtypingimportListdefsolution(m:int,n:int,nums:List[List[int]])->int:dx=[1,-1,0,0]dy=[0,0,1,-1]defbfs(x:int,y:int)->int:dq=collections.deque()dq.append((x,y))whiledq:x,y=dq.popleft()foriinrange(4):nx=x+dx[i]ny=y+dy[i]ifnx<0orny<0ornx>=morny>=n:continueifnums[ny][nx]==0:continueifnums[ny][nx]==1:nums[ny][nx]=nums[y][x]+1dq.append((nx,ny))returnnums[n-1][m-1]returnbfs(0,0)N,M=map(int,sys.stdin.readline().rstrip().split())# 문제 잘못 읽어서 M, N 또 반대로 생각함. 여기서 시간 날림
array=[]for_inrange(N):array.append([int(x)forxinsys.stdin.readline().rstrip()])print(solution(M,N,array))
Leave a comment