컴공 일기248
게시글 주소: https://i.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를 선물하세요.
-
오늘 퀄s2회랑 서바4회쳣는데 둘다88인데 컷이보통어떻게나옴?
-
진짜 농담이 아니라 사설 풀면 매체 주룩주룩 틀리는데 해결책 잇음요?? 원래 매체는...
-
사이트에 수1만 나와있던데 미적은 아직 안 나온건가요?
-
20분박고못푼사람을뭐라고함아.30풀껄그랬나양모 22 30 진짜 개매움
-
대충살자 0
딸 생일파티에서 딸로 피냐타 깨뜨리는 칸예마냥
-
이중적분이랑 삼중적분... ¡HIJUEPUTAAAAAA!
-
지금 부터 수학 영어 지구만 파서 7모 34246 로 수학 포함 2합 5 가능?? ㅠㅜ
-
제가 영어 인강을 들어보려 하는데 아예 인강이 처음입니다. 오르비에 글 쓰는 것도...
-
내신이랑 생기부 평가 좀 해주세요…학종 가능성 있나요 ㅠㅜ 7
성적은 1학년 1학기 부터 순서대로고 마지막 사진은 3학년 자율 진로랑 미적분 기하...
-
교육과정 성취기준까지 적었습니다~ 초등 의대반 열수 있을까요?
-
독서보다 문학이 어려운편 문학작품 해석이 잘 안되고(시같은거 읽으면 뭐라는지...
-
강x 1
9모 끝나도 풀려고 하는데 그때도 시즌1,2 해설강의 벌 수 있나요? 해설은 걍...
-
22 30틀 22에ㅜ모든걸걸엇는ㄷ시발시발세발......못풂.....으ㅢ시발
-
아직 우리나라에 현역때 화염병 제조 뛰신 전문가들이 눈 시퍼렇게 뜨고 살아있다는걸 간과하신듯
-
충분하게 해결을 못해서 재업합니다.. 2주 동안 공부량이나 방향 어떤지 조언...
-
수능 십새
-
'연직자기력/수평자기력' =tan(복각) 으로 처리하면 빠릿빠릿하게 선지 판단 ㄱㄴ...
-
8/20 일기 4
공부시간과 별개로 공부량자체는 많지않아 아쉬움이 남는하루. 특히 오전~1시경까지...
-
역시 사탐런은 0
내 성적대는 다시 생각해보는게 맞는듯하다.. 지금돌렸다가 1등급못띄우면 진짜 답이...
-
현역붕이한테번호따임 11
이왜진 눈이안좋으신가
-
내일부턴 닉값을 할 예정입니도
-
진심 국어는 공부하고 3덮치니까 바로 1떴는데 수학 얘는....누구는 노력하면 다...
-
오렌지 젤리다
-
생기부 다시 보고 있는데 지금 보니까 미2 세특에 기벡 내용을 적어놨네ㅋㅋㅋㅋㅋ
-
학교에서 1학기 때 동아리까지 하다가 기습반수인데 어쩌다보니까 근황을 거의...
-
물리 커리 추천 11
vip 삼순환 역학만 이순환까지 끝냇는데 이제 뭐 하면 좋을까요? ㅜㅜ
-
잇올 비싸서 못듣고있는데끊고 현강 다니고싶어여
-
아까전에 그 글 보고 화가 많이 났는데 삭히곤 있었는데 13
불행 포르노같아보일순 있는데 지방에서 낡아빠진 방바닥에 구멍나서 공구리 셀프로...
-
잇올 다니고 거리도 조금 있어요 지하철타고 총 40분거리인데 9모이후 그냥 차라리...
-
굿굿굿굿굿굿굿굿 1
Good
-
화학 고수들만 41
ㄴ선지 구할수 있음??
-
1.건동홍숙 이상 공대 지원에 유불리 심한가요? 2.메디컬 목표면 안 하는게 맞죠?
-
패드가 없어서 그냥 안 써요
-
우리반친구들은 자기들 작년반 친구들하고 먹고 내 작년반친구들은 본인들 반친구들하고...
-
진짜 가격 존나 선넘는거같은데 식사 시간 절약하려면 어쩔 수 없어 보여서,,,
-
제이팝이 미래다 7
ㅇㅇ 개성넘치고 가사도 좋고 다좋음
-
이로운 3회 4단 n축 11
카르텔;;
-
조정식이 피뎁충들은 사회에서 걸러진다 12수해도 원하는 대학 못간다 이러는데 본인은...
-
얼마전에 화작으로 바꿔서 11문제 한 세트씩 시간재고 푸는 연습을 해보고 싶은데...
-
올해 3번째 수능 준비하는 사람입니다. 원래 ~~하면 뭐 가능? 이런 거 물어보는게...
-
6모 88 7모 92 쩝 …. 평가원이나 교육청 모고 싹다 88~92에서...
-
그 특유의 쾌감을 잊을수가 없다 야심한 밤 공부끝나고 밤에 집걸어가면서 느끼는 쾌감...
-
의대생들은 n수해서 들어오는 경우가 많고 여기다가 타학과랑 다르게 6년에다가 군의관...
-
고소당해야됨
-
영어 3등급 목표면 최대한 쉬운문제들로 어떤거 어떤거 풀어야할까요? Ex) 듣기 +...
-
세상의 소식을 알려주는게 아니라 공식 언론사가 말아주는 말세 특집 이런거 보는느낌이 심해요….
-
올해 수능 말고 내년 수능부터인가요?
-
쇠로 만든 고기를 어떻게 먹죠?
-
수학 N제 고난도 문항은 잘 푸는데 실모만 치면 점수 안 나오시는분 12
있나요..? 이런 경우면 어떻게 해야 할까요..
첫번째 댓글의 주인공이 되어보세요.