컴공 일기248
게시글 주소: https://iu.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를 선물하세요.
-
. 1
기분이 좋쿤 뭔가 ..ㅎㅎ 좀 이따 씻어야지
-
N수생 맞춤형 밴드 ㄹㅇㅋㅋ
-
강기분 9평 전에 끝낼 거 같고 9평 후엔 이감상상 등의 실모+새기분 병행하려...
-
과학고 내신 1
과학고 1학년 내신을 메가 수능 커리로 준비해도 되나요?
-
30분동안 이래서 잠을 못자고 있는데 어케 멈춤..? 물마시기 숨참기 다해봤는데 효과가 앖네
-
논술 일정 공지했네요 참고하세용
-
주변에 입시 실패한 애들 강남대 한성대 이런 학교 진학한 애들 다 편입이 더...
-
탕탕 후루후루 3
-
고3 현역이고 이때까지 독학하다가 혼자 하다가 안 될 것 같아서 대성패스가 있어서...
-
사실 t형 4회만 풀어봤는데 이건 좀 쉬운 회차인듯용 35분 걸렸고 1개 모르겟어서...
-
86일의 전사 2
4회독 조지기
-
강기분 새기분 보충지문까지 다 돌리면 기출은 다 돌리는 건가요?(보충지문 안하면 덜...
-
흠
-
뭐 먹을까 어제는 옥동자 먹음
-
근데 그 '재능'은 선천적이기보다 후천적이여서 어렸을 때의 무의식적인 독해 경험이...
-
모솔 손!!! 32
우리 오르비언 분들은 모두 알파메일이라 아무도 손 안들거라 믿어요 ㅎㅎ
-
뭐하라는건진 알겠는데 발상을 못따라 가겠으면 어떻게함 똑같은 문제가 수능에서 나와도...
-
이거 하는 이유는 그냥 하고 싶어서!
-
https://orbi.kr/00068962835 님들같으면어케함? 막 누구한테...
-
생1 기출 질문 2
고3 현역이고 백호 섬개완, 상크스 까지 수강했어요. 기출 문제를 더 풀어보고...
-
꼭 인강 하나는 들어야하겠지??
-
. 1
-
제대 후 복학하면 26살에 2학년 되는거잖아요 그러면 2학년부턴 보통 혼자...
-
한시간동안 저거 세문제 푸니까 정신나갈거같은데 (심지어 첫번째꺼는 풀지도 못함)...
-
대성패스밖에 없어서 생1 내신대비로 대성이나 EBS중에 하나 들어야할것같은데 괜찮은...
-
국어 실모 질문 0
상상이나 한수 off 비재원생한테 파는 학원(대치) 아시는분 계신가요? +) 서비나...
-
왜지
-
지금 집가는게 맞냐
-
뇌가 과부화 해서 그런지 글이 잘 않읽힘 이건 실모 많이 풀면 해결될까요? 수학은 안그럼….
-
메렁 3
-
지인선 1회 2
통통이 6평 백분위61.. 지인선 1회 60분 2틀 나왔는데 계속 풀어도 되나요?...
-
이미 시스템 강좌에서 기출 같이 해주는데 따로필요한가요? 아님 큐뱅크로도 충분할까요
-
사문 생윤황들 1
공부 뭐하심 요즘 사탐런했는데 뭔가뭔가임…0
-
틀린 수학문제 오답할때 강의 안듣고 해설지만 보고 오답하면 0
효율 떨어질까요?? 메가 수학 컨텐츠 풀고싶은데 메가패스눈 없어서요ㅠㅠ
-
뭔가 기분이 6
삐지고 싶음!
-
재작년에는 없었던거로 기억하거든요 작년에도 없었음?
-
장클+파이널 클래스 기출의미래 독서문학화작 수특수완연계
-
암거나 추천좀 스포츠물만 봤었음
-
공통 베이스가 잇어서 계속 2등급뜨고있긴한데 미적 27부터 주르륵 틀립니다.....
-
ㅈㄱㄴ 풀어보신분들 정보좀..
-
역대급 폭락 쳐맞고 연달아서 달러 평가절하까지 쳐맞네 5
미주 하기 참힘들다... 그렇다고 국장으로 다시 돌아올 생각은 없지만
-
요즘 다시 개학해서 학교 다니고 있는데 일방적인 기싸움 때문에 정말 스트레스...
-
기분이가 좋네요 ㅎㅎ
-
공부해도 푸는 시간은 안줄어드는것같은데 사설 양치기하면 시간 줄일수있나요
-
문제 진짜 좋아용 드릴보다 약간?? 더 어려워요 설맞이 하기전에 빨리 쳐내려고...
-
대충 수능, 입시 정보 주고받는 건전한 커뮤인줄 알았는디 오늘 보니 아닌거...
-
안녕하세요. 수학 공부 관련해서 질문드립니다!! 현재 어삼쉬사 수1 수2 확통중인데...
-
국어 기출 16~24년까지 1회독만 진행했습니다 1회독은 마닳 1부(20...
-
엔제 뭐풀죠 0
4점코드 시즌 1,2 -> 4규 푸는중인데 4규 풀고나면 뭐풀까여 빅포텐 s1,...
첫번째 댓글의 주인공이 되어보세요.