컴공 일기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를 선물하세요.
-
관동별곡, 고어 원문 11
옛날에 그렇게 내셨다잖아.. 또 중요한 파트는 안 내셨어?
-
수능이 18일 남았다고!!
-
진짜 맨날 안맞아
-
진짜 ㅈㄴ 쎄한데 나만 그런가 ㅈㄴ 어렵게 나올거같은데..
-
현역으로 올해 처음 물리 시작해서 9모 47 7모 50 10모 47 받았는데 기출은...
-
점수 96(15찍맞) 22틀입니다 21번 많이들 틀리신 것 같아서 21번 풀이...
-
이런 지엽도 알고 계신가요...?? 세지도 람사르 협약이 이란인 거 어캐 알고 잇죠??
-
도서관 바로 맞은편 옆자리인데 쪽지 남겨?
-
5년전에 접수만하고 안갔음....
-
올해 오르비언 전용 슈냥 시크릿 실모 언제나오나요? 7
작년에 도움많이 받았는데
-
4시간 전 취소라니
-
오부이들 38
공부힘내라고 뽀뽀해줄게
-
수의대 교수님께서 수업시간에 말씀해주셨음 호랑이가 이김 ㅇㅇ
-
머가 나을까요
-
평가원은 2등급, 가끔씩 미끄러질때 3등급 정도 나오는데 올해 다른 과목이 급하다는...
-
버려야 하는 짐 가져가야하는 짐이 뭐라고 봄?
-
저녁 ㅇㅈ 10
비빔면과 삼겹살 흐헤헤
-
리트지문 하루에 30개정도, 10시간 넘게 해봣는데 다음날 뇌컨디션이 망가짐
-
ㅠㅠ 또 하다보면 2시간은 훌쩍 지나가던데
-
아 잠을 못 잤더니 머리 깨질 거 같고 피부에 뭐 올라오는데 2
대처법 있나요 머리지끈지끈함요
-
왜 수특 문학 문제 구리다고 하는거지
-
캬
-
난 1등 마더텅 2등 자이스토리야 인강교재여도 상관없어 ㅠ
-
설맞이 15 21 22 30 남기고 멀뚱거리다 끝남 4
접근조차 못함 뭔소린지 몰라서 ㅋ
-
비록 3모 21번이지만… (여름에 반수시작해서 올 초 교육청 안푼거 많음) 평가원...
-
진짜 그냥 11번부터 박살이 나는데
-
제가 주간인구지수 도심 부도심등등 개념은 아는데 그 서울하고 부산 확대한 그림만...
-
미치겠네요 3
불안했다 안불안했다 불안했다 안불았했다가.. 하.. 돌겠네요 진짜 뭔가 ㅈ망할거 같은 기분……..
-
대익인데 … 완벽한 암기 없이 반복해서 회독만 계속해도 가능한가??… 암기할 수...
-
평가원 만년 2등급 강k도 1보통 안뜨는 허순데 22 28 30 딱 거르고 88...
-
언제임?ㅔ
-
오르비 비판갤은 6
뭐하는 곳이에요?ㅋㅋ 언급있길래 가보니까 어질어질하네
-
본인만의 계획이 있다고 2~3월까지 어중간하게 놀면서 시간날리지 말고 수능...
-
내가 성적 올린 글에 이런거 달리네 ㅋㅋㅋㅋㅋ 저러면 재밌나 특정 방지를 위해 원글은 삭제함
-
말도안돼 까먹고 있었는데 어쩌다보니 과거의 자신이 쓴 글을 봐서 기억함요 옯박령이었잔아....
-
대한민국 30퍼가 크리스챤이고 신앙심만 갖고 사는 가나안 신자들까지 합치면 그 수가...
-
국어 수능때 1
국어 평소에 모고 3등급 이상 뜨던 사람들이 수능 4등급 받는 경우가 흔한가요?...
-
#14 30 수학실모 90점 넘긴거 첨이라 자랑하고 싶었어요
-
오히려 점수가 더 잘 나온다는 이야기가
-
빗소리도 되게 운치있고 개구리 우는소리도 나요
-
강민웅 물아일체 듣고있었는데 완자강의 들어야대나
-
ㅅㅂ
-
서울대 지망입니다. 국어가 1-2 진동합니다. 그냥 국어나 올리는게 나을까도 싶지만...
-
수열에서 스스로 풀 수 있었던 가장 어려운 문제는 10
이 정도가 최대치.....? 쉬운 건 또 못 풀었어요..
-
징징대고싶네 재종담임쌤한테 하루종일 징징댐
-
원래 사문 1일 1실모만 하고있엇는데 퍼즐형에서 자주 틀려서… 지금시점에도 나쁘지 않을까요..?
질문 받나요??
남겨주시면 아는 선에서 답해드리겠습니다.
컴공에서 나이 많은 사람 몇살까지 보셨나요??
개인플레이가 지배적인 분위기라… 나이를 잘 모릅니다만 남자의 경우 26-28에 졸업하는 경우가 보편적이라고 생각은 합니다.