컴공 일기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를 선물하세요.
-
대황티원 4
ㄹㅇ 개잘하네 한타구도 왤케 안정적임 ㄷㄷㄷㄷ 그치만 상대는 젠지 끝까지 의심해..
-
국어 화작 백분위 87 수학 미적분 백분위 93 영어 2 한국사 3 생1 백분위...
-
티원 잘하네 2
ㅜㅜ
-
동국대에서 한다네요 ㄷㄷ
-
신 마 유 시 1
ㄹㅇㅋㅋ
-
대 티 원 3
바론 운영 지린다 진짜
-
3대떡 각 2
ㅇ
-
ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
-
현실적인 난이도인지 개에바인지 로만 알려주세요..
-
선지 생전 처음보는것들만 수능날내면 수험생들 조질수있을거같은데 사설에서 계속 이런거...
-
형은 절대 안 죽어 ㅋㅋ
-
종익t모고에서 루소가 국가는 절대적 권력을 갖는다고 해설편에 나옴 근데 바로 전...
-
에스컬레이터에 우마무스메 씹뜨억 그림 가득한 출구가 어디였죠? 공항철도 쪽인데
-
문제를 뭔 쎈 푸는 거 마냥 펜돌려가면서 슥슥 푸네 뒷번호로 갈수록 더 빨라지는게...
-
이거 맞냐...
-
어떨지 궁금한데
-
인강은 들었고 어느정도 암기는 했었지만 (유베) 다 까먹어서 오늘 다시 돌림 3단원...
-
사람아닌듯
-
아니 바론서커스단을 가장 잘 상대하는 젠지가 바론을 그냥 줘?
-
10분 남았다는 종치면 어디까지 풀었든 상관없이 일단 omr 마킹을 시작하고 나머지는 컴싸로 푼다
-
ㅈㄱㄴ 나는포함안함
-
심장이 철렁, 합니다. 1. 으악 얼마 전 OMR 마킹 시 주의해야 할 점에 대해...
-
고욤나무가 의미하는게 뭐임?? 봉출이는 왜 고욤나무를 없애려는 거임??
-
음 이건 내 능지로 무린데? 하는거 꾸역꾸역 오답하심? 아님 버림
-
10분으로 땀 이빠이 낼수있음
-
딱 큰욕심안부리고 10
국어수학 작수보다 백분위 3씩만 오르고 탐구 11떴으면 좋겠다
-
ㅈㄱㄴ
-
1회 다들 어떠셨음?
-
난 부모님이 열심히만 하면 머라안하시는게 참 고마웠음 0
성적 좀 안 나와도 괜찮다고하셨음 최선을 다했다면
-
원래 한수 강k 푸는데 학교에서 실모 돌릴 수 있게돼서 하나만 추가하려고 합니다...
-
이거 풀면 앞으로 영어 문장 삽입은 걱정 없습니다! 0
안녕하세요~ 일등급의 공부법학교 일공학교 입니다^^ 오늘은 1~2등급들도 까다로워...
-
첨부파일로 넣어두었습니다. 처음 만들어보는 모의고사라 퀄리티가 조금 떨어질 수 있는...
-
현장에서 이게 대체 누군지 파악을 못함 다행히 얘를 묻는게 답이 아니여서...
-
이제 입대함 ㅋㅋㅋㅋㅅㅂ.. 인생 진짜 늦게간애들도 1월에 입대해서 상병임..
-
1. 1일 1실모 벅벅 2. 수특 수완 개념 무한 회독 뭐가 더 좋을까요? 3개년...
-
제육 해달라하면 잘 해줄듯
-
근장제도 문제 수능에선 안나오죠? 풀기 귀찮아요
-
퇴사하면 8:40기상 9~3:30 주식 4시 헬스 후 수면 10:30 미장~5:00...
-
까머금
-
남은책 2
슬며시 국어 새책을 추가하며,,,,, 아까 국어,과탐교재 이제 없습니다,,,,,...
-
인스타 팔로우 안해서 몰랐는데 결혼식 하는거 누가 스토리에 올려서 앎 나이 먹을수록...
-
나의 후지와라 치카, 이이노 미코, 시로가네 미유키, 이시가미 유우가 되어줄래???????????/
-
모고 풀때만 이상한 판단 오류나는경우 이런 분 계심.? 어캐 고치지 실모 양치기가 답인가
-
아니 이동준쌤 2
걍 알파메일이시네 부럽다
-
대학가신 분들은… 20
대학가신분들은 자기대학 몇등급받고 가셨어요?(서울대+메디컬~고구려대 모두궁금)...
-
요즘 국어들 하나같이 등급컷 꼬라지 십창난거 보고 1받게다는 마음을 버림
-
고3 있음? 14
반 분위기 어떰 우리반만 쉬는 시간에 노래부르고 난리 난 거임?
-
반박받음) 축구는 맨시티, 야구는 롯데, 롤은 딮기 1
반박시 신의손 수아레즈, ... 하주석, 솔랭의 제왕 애디
-
ㄷㄷ 이게 뭐냐
-
3ㄷ1 쵸비 7수
질문 받나요??
남겨주시면 아는 선에서 답해드리겠습니다.
컴공에서 나이 많은 사람 몇살까지 보셨나요??
개인플레이가 지배적인 분위기라… 나이를 잘 모릅니다만 남자의 경우 26-28에 졸업하는 경우가 보편적이라고 생각은 합니다.