컴공 일기248
게시글 주소: https://test.orbi.kr/00068962554
백준 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를 선물하세요.
-
엄...
-
정답이2222ㄷㄷ
-
나도 질문이나 받아볼가 10
문법만 좀 침. 근데 잘 아는 건 중세국어 원툴
-
사문 이 정도로 어려워질줄 몰랏음 나도 지금 풀면 50점 못받을듯 사탐하고 공대가는건 상상도 못함
-
국어 원툴 24언매 표점 145 백분위 100 모강사조교경력있음.
-
나도 질문받아볼까 15
윤사N제 출판했었음 강사 조교 경험 O 도덕윤리2급정교사 현재 무직백수
-
아직 반팔입어도 되겠군
-
살인마들은 그냥 유전적버그가 나버린 일종의 오류 생명체 이지 않을까 신기해..
-
ㅇㅇ… 그냥 길이만 긴 일개 고전시가 1인데 사실 문제를 어떻게 내냐에 달린 거지...
-
반 알로는 택도 없네 11
앞으로 잠 안 오면 한 알 그냥 먹어야지....
-
이 정도면 걍 겨울 아님? ㅋㅋㅋㅋㅋ
-
분석할 수 있는 역량은 나름 괜찮은 것 같은데 타임어택에 항상 약한 게 문제네..
-
바로 자야지
-
사문 컨텐츠 5권 씀 수학 학원강사 하고 있음 의학 배우고싶어 우는 중 지금 위스키 한병 마심
-
올해 진짜 왤케 뭔가 애매하지... 이거다 싶은게 진짜 하나도 없네요
-
옛날에 내가 대충 휘갈겨서 막 냈었는데 승인된 레어들 다시 보니까 반가우면서...
-
ㅅㅂ
-
본인 가끔씩 잠 안오면 유튜브에 박승동 강의 틀어놓고 잘 때 있음. 학교선생님 그...
-
현우진 차영진 호훈도 인정한 Goat.
-
덕코 어케 버는 거더라
-
하긴 해야하니까...
-
191130 정도의 문제는 미적 30에 나올 수 있을까요? 9
그래도 어렵나
-
재수 수능 조지고 논술 다 광탈해서 삼수 확정났을때쯤 인기 많았던 노래라 한동안 이...
-
아무나
-
같이 마실래 13
나이만 먹는다
-
이거 5개 다틀리면 낮4부터 시작임
-
고3때는 분명 고대 바의공 성대 글바메만 가도 좋겠다 이랬는데 ㅠㅠ
-
웅웅
-
수학황분들 질문 12
이거 답 몇번인가요
-
나 같은 환경이면 오르비 생각이 없어야 할 텐데 난 왜 하고 있지
-
Oz모가 수능 난이도 정도인가요? 최저때메 1이 필요한데 요새 너무 점수 안나와서...
-
오르비 하다보면 6
몇년째 나는 제자리인 느낌 발전해서 떠날때도 됐는데 말이지
-
나의 역량 부족만 뼈져리게 느낌. 이거 틀리면 강사 이름에 먹칠한다는 생각을 하니까...
-
원윤태 학생 제발 정신 좀 차리세요
-
끌끌
-
디질것같네
-
80분 95점 문학-5 독서(34분 30초) 쉬웠음 손가락 걸기 안하고 모든 선지...
-
제법 젠틀해요
-
어땟음 특히 국어
-
솔직히 BIS같은 경제고난도나 물화생과학 재재로 나오면 그냥 나만 어려워서 던지는...
-
안녕하세요 2
안녕하세요
-
마법의소라고동님 0
올해는탐구11을주세요 씨ㅡㅂ랄줄때됐잖아
-
애들 단체로 다 쉽지않음? 할만하던데 헤겔 그거 EBS 그대로 나오지않음? 1컷 한...
-
숨은 명곡 4
안유명하진 않지만 덜유명한 노래
-
고우시네요
-
교수님 진짜 감금 해버릴까 이새끼가 시험 끝난지 2주됐는데 지혼자 시험을 쳐보네 아오 진짜
-
내일부턴 진짜 일찍잠 ㅜㅜ
질문 받나요??
남겨주시면 아는 선에서 답해드리겠습니다.
컴공에서 나이 많은 사람 몇살까지 보셨나요??
개인플레이가 지배적인 분위기라… 나이를 잘 모릅니다만 남자의 경우 26-28에 졸업하는 경우가 보편적이라고 생각은 합니다.