컴공 일기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를 선물하세요.
-
예를들어 수1을 배웟서요 1장 지수로그를 처음으로 딱 배운 상태에요 다 이해는 하고...
-
이런거 지금 아는게 중요하다고 생각하는게 이런 대형 모집 단위 하나 생기면 기존의...
-
차단하면 어케돼요?? 15
그사람 글이랑 댓글 안보이고 제 글도 그사람이 못보나요?? 밥먹을때랑 일과끝나고...
-
나 대학 어디가??
-
181130 171130 이런것두 푸는게 낫나요
-
기름기 있는 음식 좀만 먹어도 바로 얼굴에 기름기 올라오는데 0
나만 이럼??
-
이걸 어케 현장에서 맞추노 나도 하니프사달면 맞출수있나
-
교수님이 낸 느낌이네
-
시즌1이고 수1은 거의 안 틀리는데 수2만 너무 어렵네요 해강듣다보면 저런 발상을...
-
책형태로함b4로함?
-
e^-3x를 입력해야라는데 지수를입력할수잇는버튼은안보이고 ^쓰면 에러뜸 화가남....자퇴하고싶어요
-
생윤 질문좀 5
3번이 인간복제찬성 입장이라고 설명하는데 왜 그런지 설명해줄 수 있음? 복제인간이...
-
언매확통사탐사탐 쳐야지 문과가 돼
-
있다면 어떤과목이든 goat이신듯...
-
매일 기출 8(문학4독서4) 지문 뽑아풀고 그중에서 어려웠던 지문, 3점문제 위주로...
-
축구는 스피드로 치달하는거 한계가 있는데 미식축구는 스피드가 절반을 차지하는 종목이니 매력있음
-
84 (22는 찍맞이라 제외) 12번 풀다가 대차게 말아먹을 뻔 루트 미치게...
-
?? 메디컬은 다 빼야할거 같은데
-
의대 한의대중에 영어감점 적은 학교 없을까요 ㅠ 잘나오면 2까지도 가능한데 사실...
-
제곧내! 수능 당일 국어 끝나고 쉬는시간에 뭐해야할지 모르겠습니다 1. 예열 문제로...
-
아는 명제가 많고 그 명제들을 잘연결시킬줄만 알면 뛰어난 학자가 되는것임 (수학5등급)
-
경상계열 논술 준비 학원(3회) 다닐까 걍 혼자 조금 해보고 나중에 수능 끝나고...
-
진짜 어렵진않았는데 문학에서 시간써서 가 밖에 못봄
-
중3학생 비대면으로 가르치고 있고 중등과정까진 시간당 3 받았었는데 고등과정은...
-
ㅋㅋㅋㅋㅋ 이게 딱 내가 문과 싫어하는 이유임
-
수1 기어시 도전문항 4개 세지 인문지리 사문 사회화기관
-
안하고 싶은데 하면 불행해지는거 아는데도 자꾸 하게되고 또 불행해지고... 진짜 고통의 딜레마다
-
외대 인문논술 추천 좀 해주세여
-
독서실 뒷자리 곱상하게생긴 남고딩 한테 눈이 가요.. 1
과탐 1일 1실모는 보통 언제부터 시작하나요? 9평 끝나고?
-
의사=약
-
삼각함수 버릴수도 없고
-
보정1 가능성 제로임? 시험지로 매겼을때는 86이엇는데 가채점 84나오니꺼 자살마려움
-
그러니까 힘내라 내가 31321로 고려대 갔어서 하는 말임
-
☆공부와 함께 달려오며 건전한 취미를 겉들여 무난하게 달려온 널 칭찬해☆
-
이쁜 보추는 좀 끌리긴해~~
-
댓글달아보셈 13
ㅈㄱㄴ
-
첫 사진 자유물체도에선 mg를 쓰지않고 두번째 사진에선 mg를 썼는데 첫 사진에선...
-
아 배고프다 5
저녁묵었는데 배고프네...
-
대부분 다 그렇던데 남자가 여자보다 덩치도 크고 타고난 뼈대도 굵고 머리나 얼굴도...
-
실검 뭐임? 1
보추?
-
나만 험악한거 아니지...ㅠ? 진짜 너무어렵다
-
나는 수험생이다 나는 서울대 지망하는 수험생이다
-
고3때 정병 개싼거 톡방에 박제당했는데 여기서 복학하기 싫다는 얘기 하면 안되겠다
-
ㅋㅋ시발
-
혹시 이명학 션티 두분 다 경험해 보신분 계실까요?(빈칸, 순삽) 0
안녕하세요 작년에는 이명학T 커리를 탔는데 다는 못타고 파이널을 위주로 보고 올해는...
-
걍 지우고 다시 풀어볼까요? 좀 아깝기도 하고 강사분들 해강도 있고 해서
-
산책 + 턱걸이 하러 갈까 말까… 고민됨
-
0.봇치더락 1.카구야님은 고백 받고싶어 2.오빠는 끝 3.유사하렘 4.던전관리인...
질문 받나요??
남겨주시면 아는 선에서 답해드리겠습니다.
컴공에서 나이 많은 사람 몇살까지 보셨나요??
개인플레이가 지배적인 분위기라… 나이를 잘 모릅니다만 남자의 경우 26-28에 졸업하는 경우가 보편적이라고 생각은 합니다.