컴공 일기248
백준 1937 DP / DFS 융합 문항 풀이
소감 : 본질은 DFS인데, DP의 메모이제이션 기법을 쓰지 않으면 시간 초과가 난다.
탐색 문제들은 제한 시간 + 데이터의 수를 적절히 참조하며 Time Complexity를 따져보는 것이 첫 번째다.
완전 탐색을 해야하는데, 시간이 넉넉하다면 DFS 논리 하나로 가볍게 끌고가도 되지만 데이터 수가 생각보다 많아
제한 시간 내 모든 탐색이 불가능할 것 같으면 DP 냄새를 맡을 줄 알아야 한다.
아니면 더 근본적으로 완전 탐색 상황을 의심해볼 수도 있지만…
대놓고 DFS 였으니 이 부분은 이 문제에서 큰 의미없는 접근이겠다.
#include <iostream>
#include <algorithm>
using namespace std;
// 상 -> 하 -> 좌 -> 우 순으로 DFS 탐색 순서를 정한다.
int dx[] = {-1, 1, 0, 0};
int dy[] = {0, 0, -1, 1};
int forest[501][501];
int DP[501][501];
int N; //find_max의 참조를 위해서 전역변수 선언
int find_max(int i, int j) {
if (DP[i][j] > 0) return DP[i][j]; // 메모이제이션
DP[i][j] = 1;
for (int k = 0; k < 4; ++k) {
int next_x = i + dx[k];
int next_y = j + dy[k];
if (0 <= next_x && next_x < N && 0 <= next_y && next_y < N) {
if (forest[i][j] < forest[next_x][next_y]) {
DP[i][j] = max(DP[i][j], find_max(next_x, next_y) + 1);
}
}
}
return DP[i][j];
}
int main() {
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int res = -1; // 결과 변수
cin >> N;
for (int i = 0; i < N; ++i) {
for (int j = 0; j < N; ++j) {
cin >> forest[i][j];
}
}
for (int i = 0; i < N; ++i) {
for (int j = 0; j < N; ++j) {
res = max(res, find_max(i, j));
}
}
cout << res << “\n”;
return 0;
}
0 XDK (+0)
유익한 글을 읽었다면 작성자에게 XDK를 선물하세요.
-
EBS좀 보다가 “달러화가 전 세계에 공급되기 위해서는 미국의 국제수지가 계속...
-
영어공부+솩공부
-
실시간 열받아서 2
케로로 초코칩 쿠키 먹을꺼야
-
수능이 다가온다는 의미겠지 수능날 개같이 지워야지
-
맞팔ㄱㄱㄱㄱ 4
ㄱㄱㄱㄱ
-
내 텅장 4
올해초엔 분명.... 갑자기 현타오네 재수비용 ㅆㅂ이...
-
은테복귀 16
얼마만이지
-
ㅎㅎ..
-
수학 파이널 토탈리콜 + 원솔멀텍파이널 ㅁㅌㅊ?
-
13틀 진지하게 못풀었음 뭔가 예상되는 방향에서 계산이 안됨 다른 길이 안 보여서...
-
진짜 어렵네요.. 글을 앞으로쓰는건지 뒤로쓰는건지 뭐라고 쓸지는 알겠는데 무슨...
-
뭔 미필새끼들이 군기타령 ㅋㅋ 군대에서 마저 군기타령안하는데
-
수능 공부
-
에너지드링크 ON
-
스카 6층인건 2
담배를피지말라는건가...흠
-
10만원짜리 패드로 인강 듣고 있는데 나중에 피뎁 쓸 일이 많아 보여서,,
-
급함
-
갈아만든 ldH 1
-
글 올라오는 속도 왤케 느려
-
다시 영어 기출 분석해보니깐 ㄹㅇ 다른 어떤 지문보다도 재미있네요 보는 시야가...
-
완전 새책입니당 가격은 8천원 입니다 교대역이나 대치동(은마사거리) 직거래 돼요
-
ㅈㄱㄴ
-
좀 대충 어림짐작을 해보고 싶은데 아직도 많아봐야 한 10퍼도 안들어온듯...
-
59일만 하면 되는데 100일때부터 달리지도 못했는데 나쁘지 않은 환경인데 후..
-
6모3 9모3 나왔습니다. 계속 정체된느낌이 들고 해서 실모를 돌려볼까도 생각중인데...
-
9평 느낌 반영 독서 자작 투척 [측정과 국제표준] 1
반영인가? 사실 몰7루?
-
미적 높2 인데. 브릿지랑 비교하면 난이도 어떤 편인지도 말해주세요
-
3항부터 53항까지의 홀수항의 갯수,3의배수항의 갯수 이런거 구하기 나만 ㅈㄴ못함?...
-
풀렸나요? 시대 시대 시데 시데 ㄱㅇㅇ ㄱㅇㅇㄱㅇㅇ
-
아니 가격이 이게 맞냐 16
하... 안 되겠다
-
자꾸 금지어 있다고 떠서 개빡치는데 뭔지 안 알려줌
-
메인글 개짜증 4
하남자식운영 걍말할것이지 괜히 찝찝하게
-
예비고3이고 고3기준 84 88 92 요정도인거같아요(실모풀면 대부분 88이에요...
-
7월쯤에 이훈식쌤 커리를 타기시작해서 이제야 개념, 기출문제를 끝냈는데 지금시점에서...
-
아니 전자레인지를 왜 못 쓰게해 화나게 ㅎㅎ
-
사설에서 가끔 틀릴 때 있는데 이제까지 평가원에서 발음 안 준적 있나
-
왜냐하면, 미래의 경영자는 극소수이기때문입니다
-
확통 80이면 평가원 몇등급임?
-
최대 나이많으신분은 몇살입니까..!?
-
지금은 뭐 사설에 수두룩빽빽하니까 1분 컷인데 당시에는 좀 충격적이었나요? 급수...
-
저는 10월 말쯤에 나갈 것 같은데 다들 수능 전날까지 다니심?
-
솔직히 영어는 2
60분으로 줄여도 된다고 생각해요..
-
내용 캡쳐해서 보여줫더니 그 내용 네이버에 검색해서 내 블로그 찾아냄,,,,,,, 소름돋아
-
본인은 하나도 못받고 지능이 다 동생한테 몰빵됨... 내가 받은건 유일하게...
-
시내 나갔다오기 왜이렇게 힘드냐..ㅋㅌㅋ
-
도형 마냥쉽진않던데
-
수1 자체가 실전개넘이랄게 없는건가?
-
선생님들이 허락해주셔서 그런가? 궁금
-
ㅈ댓네 이거 언제 다 풂
-
가기싫어서 스카에서 뻐기고있는데..
질문 받나요??
남겨주시면 아는 선에서 답해드리겠습니다.
컴공에서 나이 많은 사람 몇살까지 보셨나요??
개인플레이가 지배적인 분위기라… 나이를 잘 모릅니다만 남자의 경우 26-28에 졸업하는 경우가 보편적이라고 생각은 합니다.