dev_eun
[백준] BOJ 1937번 욕심쟁이 판다 본문
from sys import setrecursionlimit
setrecursionlimit(10**9)
dx = [0, 0, -1, 1]
dy = [-1, 1, 0, 0]
dp = [[0]*501 for _ in range(501)]
N = int(input())
bamboo = []
result = 0
def dfs(i, j):
if dp[i][j]: return dp[i][j]
dp[i][j] = 1
for k in range(4):
if i+dx[k] == -1 or i+dx[k] == N or j+dy[k] == -1 or j+dy[k] == N:
continue
if bamboo[i][j] < bamboo[i+dx[k]][j+dy[k]]:
dp[i][j] = max(dp[i][j], dfs(i+dx[k], j+dy[k])+1)
return dp[i][j]
bamboo = [list(map(int, input().split())) for _ in range(N)]
for i in range(N):
for j in range(N):
result = max(result, dfs(i, j))
print(result)
728x90
'공부 > 알고리즘 문제' 카테고리의 다른 글
[프로그래머스] 기능개발 c++, javascript (0) | 2021.04.29 |
---|---|
[프로그래머스] 순위 (0) | 2020.12.11 |
[프로그래머스] 가장 먼 노드 (0) | 2020.12.11 |
[프로그래머스] 다리를 지나는 트럭 (0) | 2020.12.10 |
[프로그래머스] 기능 개발 (0) | 2020.12.10 |