From 83de41bed6d87ce3f3e113be33eaf7eddbd8a401 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=A7=80=ED=98=84=EC=84=9C?= <113419425+3veryDay@users.noreply.github.com> Date: Thu, 8 Jan 2026 09:48:20 +0900 Subject: [PATCH] =?UTF-8?q?260108=20:=20[BOJ=201937]=20=EC=9A=95=EC=8B=AC?= =?UTF-8?q?=EC=9F=81=EC=9D=B4=20=ED=8C=90=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _hyunseo/1937.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 _hyunseo/1937.py diff --git a/_hyunseo/1937.py b/_hyunseo/1937.py new file mode 100644 index 00000000..88a8108f --- /dev/null +++ b/_hyunseo/1937.py @@ -0,0 +1,29 @@ +import sys +sys.setrecursionlimit(10**6) +input = sys.stdin.readline +n = int(input()) +grid = [] +for _ in range(n) : + grid.append(list(map(int, input().split()))) +answer = 0 +dp = [[-1]*n for _ in range(n)] + + +def dfs(y,x ) : + + if dp[y][x] != -1 : + return dp[y][x] + dp[y][x] = 1 + d = [[-1,0], [1,0], [0,1], [0,-1]] + for t in range(4) : + dy, dx = y + d[t][0], x + d[t][1] + if 0 <= dy < n and 0 <= dx < n : + if grid[dy][dx] < grid[y][x] : + dp[y][x] = max(dp[y][x] , dfs(dy, dx) + 1) + + return dp[y][x] +for y in range(n) : + for x in range(n) : + answer = max(answer, dfs(y,x)) + +print(answer)