반응형
    
    
    
  -문제

-코드
#include<stdio.h>
#include<algorithm>
using namespace std;
int dx[4] = { 1,0,-1,0 };
int dy[4] = { 0,1,0,-1 };
int map[500][500], dp[500][500];
int n, res;
int DFS(int x, int y)
{
	if (dp[x][y] > 0) return dp[x][y];
	else
	{
		dp[x][y] = 1;
		for (int i = 0; i < 4; i++)
		{
			int xx = x + dx[i];
			int yy = y + dy[i];
			if (xx < 0 || yy < 0 || xx >= n || yy >= n) continue;
			if (map[x][y] < map[xx][yy])
			{
				dp[x][y] = max(dp[x][y], DFS(xx, yy) + 1);
			}		
		}
	}
	return dp[x][y];
}
int main()
{
	scanf("%d", &n);
	for (int i = 0; i < n; i++)
	{
		for (int j = 0; j < n; j++)
		{
			scanf("%d", &map[i][j]);
		}
	}
	for (int i = 0; i < n; i++)
	{
		for (int j = 0; j < n; j++)
		{
			res = max(res, DFS(i, j));
		}
	}
	printf("%d", res);
	return 0;
}반응형
    
    
    
  '이론 > 코딩테스트' 카테고리의 다른 글
| [백준] 1541번 잃어버린 괄호 (문자열) (0) | 2022.08.03 | 
|---|---|
| [백준] 2675번 문자열 반복 (문자열) (0) | 2022.08.03 | 
| [백준] 11279번 최대힙 (priority queue) (0) | 2022.08.01 | 
| [백준] 1158번 요세푸스 문제 (queue) (0) | 2022.08.01 | 
| [백준] 8958번 ox퀴즈 (문자열) (0) | 2022.07.31 | 
 
                    
                   
                    
                   
                    
                  