[백준] 1189 - 컴백홈
2024. 6. 26. 17:11ㆍPS/백준
문제 링크
https://www.acmicpc.net/problem/1189
느낀 점
기본적인 구현 문제를 많이 연습해야한다는 것을 느꼈음. 그리고 지나가면서 올렸던 숫자를 모두 제자리로 원상 복구 시켜줘야 다른 경우에서도 쓸 수 있으므로 그 과정을 신경 써주어야했음!
import sys
sys.setrecursionlimit(12345678)
R, C, K = map(int, sys.stdin.readline().split())
count = 0
maps = []
for _ in range(R):
maps.append(list(sys.stdin.readline().strip()))
d = [(-1, 0), (0, -1), (0, 1), (1, 0)]
maps[R-1][0] = 1
def dfs(i, j):
global count
if i == 0 and j == C-1:
if maps[i][j] == K:
count += 1
return
for di, dj in d:
ui = i + di
uj = j + dj
if ui >= 0 and uj >= 0 and ui < R and uj < C:
if maps[ui][uj] == '.':
maps[ui][uj] = maps[i][j] + 1
dfs(ui, uj)
maps[ui][uj] = '.'
dfs(R-1, 0)
print(count)
'PS > 백준' 카테고리의 다른 글
[백준] 2644 - 촌수계산 (0) | 2024.06.26 |
---|---|
[백준] 2606 - 바이러스 (0) | 2024.06.26 |
[백준] 24480 - 깊이 우선 탐색 2 (0) | 2024.06.26 |
[백준] 24479 - 깊이 우선 탐색 1 (0) | 2024.06.26 |
[백준] 24445 - 너비 우선 탐색 2 (0) | 2024.06.26 |