[이코테] DFS/BFS_미로 탈출 (python) (푸는중)

juyeon·2022년 6월 30일
0

나의 풀이

1. 실패.. 왜 실패했는지 모르겠다ㅠ 오류는 안나는데 값이 안 맞음

n, m = map(int, input().split()) #입력
graph = [list(map(int, input())) for _ in range(n)] #얼음 틀 입력
x, y = (1, 1)
dir = [(0, 1), (1, 0), (-1, 0), (0, -1)] #동남북서
result = 1 #결과값 카운트
for go in range(n * m):
	for i in range(4):
		new_x = x + dir[i][0]
		new_y = y + dir[i][1]	
		
		if graph[x][y] == (n, m):
			break
		#괴물이 있거나 맵 바깥인 경우, 넘어감
		if graph[new_x][new_y] == 0 or new_x < 0 or new_x >= n or new_y < 0 or new_y >= m:
			continue
	
		if graph[new_x][new_y] == 2: #이미 방문한 칸인 경우
			x = new_x #이동
			y = new_y
		if graph[new_x][new_y] == 1:
			#방문한 칸 표시
			graph[x][y] = 2
			x = new_x #새로운 칸으로 이동
			y = new_y
			result += 1 #이동 수 카운트
print(result)
profile
내 인생의 주연

0개의 댓글