컴공 일기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덮 41받음
-
인생영화 ㄱㄱ 15
전 간신
-
[속보]中, 한국 등 9개국 '무비자 입국' 허용 11
중국 외교부는 오는 8일부터 한국을 포함한 9개국을 비자 면제 대상국에 포함한다고...
-
작수 잊음을 논함 이후로 사설들도 이에 걸맞는 난도를 보여주는데 11퀄처럼 계속...
-
아니 ㅅㅂ 자신잇게 풀엇는데 문학 이렇게 많이 틀린거 첨임 실환가 유씨삼대록은...
-
수능 끝나고 제가 2월전까지 토익 730, 한국어 2급, 지게차운전기능사, 1종보통...
-
에리스 보레아스 그레이렛
-
진짜 하는 사람 있음? 당연히 지금 하갰단 건 아닌데 저러면 정시에서 불이익 없나요
-
우리 친구들 어디살아
-
의미 있는건가요? 기숙에서공부한다햇을때 그돈을 투자할 가치가 있을정도로 유의미한 변화인건가요
-
헛소리!
-
11덮 수학 0
11덮 수학 미적 92인데 백분위 어느정도 나올까요?
-
1페부터 싸했는데 뒤에 페이지도 다 터져있네 그냥 n제로 내는게 나았을듯
-
난 비타민k 10번은 넘게 본듯
-
내가 미쳐거요
-
그립읍니다..
-
수능 전날 한 과목 시험지를 미리 볼 수 있다면? 14
무슨 과목을 고르실 건가요들 (단, 문제를 타인에게 물어보거나 할 수 없음) 저는 지2 하겠습니다.
-
연애황들 ㄹㅇ 부러움 13
-
하재호 수능 등급 예측 11
뭔가 44234
-
보다가 눈물이 절로 흐름
-
나잡아가는거아니겠지..
-
영어노베 0
이영수T 유베가는길 완강한후 이명학T 신택스가도 상관없나요??
-
이베스 제재를 좀 팔까..? 과학 기술만 가끔 틀리고 인문 사회 예술 지금까지 틀린적 거의 없음
-
히히 걍 기분좋아
-
맛있겠다
-
그러고보니 현대시는 암묵적인 룰이 있나 연계 1 비연계1
-
30 13 20 틀림.. 20은 계산실수고 13은 0-일때를 못봐서.. 이정도면...
-
말이 해를 보면 ?? 20
그냥 해본 말이야 !
-
다른거 더 집중하는게 맞음? 해도 연계체감 안될거 같고 하나하는데 몇시간 걸리는데 에바아님?
-
꿀팁) 4
-
순공 11시간 인생 처음으로 찍어보고 3일만에 깨짐...
-
살 아야 하니까 !
-
6개 중에 5개 최저 걸려있는데, 그 중 4개는 면접이 없어서 최저로 면접여부가...
-
일반화학과 상당히 겹치는 부분이 많아서 학점 양학가능하다는 장점이 있어요
-
국어 시간 부족할 경우 시험지별 시나리오는 다 짜두긴했는데
-
위기를 즐겨 1
언제 또 이래보겠어 망하면 죽으면 그만이야~
-
범부여도 접근 가능
-
라는 말은 너무 야한거 같아요.. 치박싸 ㄷㄷㄷㄷㄷㄷ
-
수2만 풀거임 그냥 22번난도 드릴5 랑 느낌비슷했으면 좋겠음 빅포 23, 문해전2...
-
아님 그냥 은퇴인가요?
-
이번주 종례 뭐 했음?
-
정도전 5
-
에스포지토의 주권과 면역 칸트 취미론 미적태도론 사르트르의 존재론 데넷의 지향계이론...
-
난 잔다. 11
미남은 잠꾸러기니까.
-
낼 학원가야지 0
아 모고보기 시른데
-
반응속도론
질문 받나요??
남겨주시면 아는 선에서 답해드리겠습니다.
컴공에서 나이 많은 사람 몇살까지 보셨나요??
개인플레이가 지배적인 분위기라… 나이를 잘 모릅니다만 남자의 경우 26-28에 졸업하는 경우가 보편적이라고 생각은 합니다.