-
[백준 문제풀이] 얼렁뚱땅 11048 이동하기 풀이얼렁뚱땅 백준 문제풀이 2022. 9. 6. 14:41
https://www.acmicpc.net/problem/11048
11048번: 이동하기
준규는 N×M 크기의 미로에 갇혀있다. 미로는 1×1크기의 방으로 나누어져 있고, 각 방에는 사탕이 놓여져 있다. 미로의 가장 왼쪽 윗 방은 (1, 1)이고, 가장 오른쪽 아랫 방은 (N, M)이다. 준규는
www.acmicpc.net
노트북을 맥북으로 바꿨는데, 화면크기 키우는건 알겠는데 줄이는건 몰라서
이제는 캡처하지 않고 그냥 링크만 올리겠습니다 ^^ ..
맥북사서 기분낼려고 스벅왔는데 시끄러운걸 걱정했던 것은 노이즈캔슬링으로 인해 OK 괜춘
하지만, 코로나 이후 만성 콧물 및 코막힘에 시달리는 민지에게 에어컨 바람은 콧물을 유발하네요 ㅎㅎ
집 가겠슴다 그럼 뿅
bfs : 시간 초과
from collections import deque n, m = map(int,input().split()) array = [list(map(int,input().split())) for _ in range(n)] visited = [[-1]*m for i in range(n)] q = deque() q.append([0,0,array[0][0]]) dx = [0,1,1] dy = [1,0,1] while q : x,y,temp_sum = q.popleft() if visited[x][y] > temp_sum : continue for i in range(len(dx)) : nx = x + dx[i] ny = y + dy[i] if 0<=nx<n and 0<=ny<m : real_temp = temp_sum + array[nx][ny] if visited[nx][ny] < real_temp : visited[nx][ny] = real_temp q.append([nx,ny,real_temp]) print(visited[n-1][m-1])
dp : 통과 !! 지섭쿤 감사요
n, m = map(int,input().split()) array = [list(map(int,input().split())) for _ in range(n)] visited = [[-1]*m for i in range(n)] visited[0][0] = array[0][0] dx = [0,1,1] dy = [1,0,1] for i in range(n) : for j in range(m) : for k in range(len(dx)) : nx = i + dx[k] ny = j + dy[k] if 0<=nx<n and 0<=ny<m : visited[nx][ny] = max(visited[nx][ny], visited[i][j] + array[nx][ny]) print(visited[n-1][m-1])
'얼렁뚱땅 백준 문제풀이' 카테고리의 다른 글
[백준 문제풀이] 얼렁뚱땅 15685 드래곤 커브 (0) 2022.09.07 [백준 문제풀이] 얼렁뚱땅 7576 토마토 풀이 (0) 2022.09.06 [백준 문제풀이] 얼렁뚱땅 11723번 집합 풀이 (0) 2022.08.31 [백준 문제풀이] 얼렁뚱땅 20437번 문자열 게임 2 풀이 (0) 2022.08.30 [백준 문제풀이] 얼렁뚱땅 15486번 퇴사 2 풀이 (0) 2022.08.24