-
코드
import sys m, n = map(int, sys.stdin.readline().split(" ")) check_li = [[-1 for _ in range(n)] for _ in range(m)] li = [] for _ in range(m): li.append(list(map(int, sys.stdin.readline().split(" ")))) x_ext_li = [0,0,1,-1] y_ext_li = [1,-1,0,0] def dfs(node): x, y = node if x == m-1 and y == n-1: return 1 if check_li[x][y] != -1: return check_li[x][y] check_li[x][y] = 0 for i in range(4): x_ext = x + x_ext_li[i] y_ext = y + y_ext_li[i] if 0 <= x_ext < m and 0 <= y_ext < n: if li[x_ext][y_ext] < li[x][y]: check_li[x][y] += dfs([x_ext, y_ext]) return check_li[x][y] print(dfs([0,0]))
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 2629번 양팔저울 (파이썬) (0) 2022.01.04 [백준] 10942번 팰린드롬? (파이썬) (0) 2022.01.04 [백준] 11049번 행렬 곱셈 순서 (파이썬) (0) 2022.01.04 [백준] 11066번 파일 합치기 (파이썬) (0) 2022.01.04 [백준] 1655번 가운데를 말해요 (파이썬) (0) 2022.01.04