알고리즘/BOJ

백준 14925번 목장 건설하기

꾸준함. 2018. 7. 13. 18:02

문제 링크입니다: https://www.acmicpc.net/problem/14925


백준 1915번(http://jaimemin.tistory.com/452)과 똑같은 문제였습니다.

1915번을 풀 때는 인덱스를 0부터 시작해서 조건문을 추가했어야했지만 이번에는 인덱스를 1부터 시작해서 조건을 추가하지 않아도 AC를 받을 수 있었습니다.


#include <iostream>

#include <algorithm>

#include <cstring>

using namespace std;

 

const int MAX = 1000 + 1;

 

int M, N;

int farm[MAX][MAX];

int cache[MAX][MAX];

 

int getLength(void)

{

        int side = 0; //변의 최대 길이

        for (int y = 1; y <= M; y++)

                 for (int x = 1; x <= N; x++)

                         if (farm[y][x] == 0)

                         {

                                 //, , ↑ 방향을 확인 후 최소 값 + 1

                                 cache[y][x] = min(min(cache[y - 1][x], cache[y - 1][x - 1]), cache[y][x - 1]) + 1;

                                 side = max(side, cache[y][x]);

                         }

 

        return side;

}

 

int main(void)

{

        cin >> M >> N;

 

        for (int i = 1; i <= M; i++)

                 for (int j = 1; j <= N; j++)

                         cin >> farm[i][j];

 

        cout << getLength() << endl;

        return 0;

}


개발환경:Visual Studio 2017


지적, 조언, 질문 환영입니다! 댓글 남겨주세요~

반응형

'알고리즘 > BOJ' 카테고리의 다른 글

백준 14939번 불 끄기  (0) 2018.07.13
백준 14927번 전구 끄기  (0) 2018.07.13
백준 14924번 폰 노이만과 파리  (0) 2018.07.13
백준 14923번 미로 탈출  (0) 2018.07.13
백준 14922번 부분평균  (0) 2018.07.13