NxN배열 내부에서 사각형 개수 및 너비 구하는 알고르즘

  • 지니후후
    지니후후

    뒤늦게 알고리즘 공부에 빠져서...고수님들 조언 구합니다.

    ㅁ 사각형 2개
    0 0 0 0 0 0 0
    0 1 1 1 0 0 0
    0 1 1 1 0 0 0
    0 0 0 0 1 1 0
    0 0 0 0 1 1 0
    0 0 0 0 0 0 0

    ㅁ 사각형 1개
    0 0 0 0 0 0 0
    0 1 1 1 0 0 0
    0 1 1 1 0 0 0
    0 1 0 0 1 1 0
    0 0 0 0 1 1 0
    0 0 0 0 0 0 0

    예를 들어 첫번째 그림에서는 조각이 2개이고 각각은 크기가 6, 4 입니다.
    두번째 그림에서는 조각이 2개이고 각각은 크기가 7, 4 입니다.

    서로 연결된 조각들의 갯수를 구하는 로직과 각각의 조각의 크기를 구하는 알고리즘(직사각형의 엣지를 구하는 방법)과 한단계 더 나아가... 내부 직각사각형의 넓이를 구하는 알고리즘을 알고싶습니다.
    BFS를 쓰면 쉽게 구할 것 같은데..BFS의 개념이 아직 잘 안잡혀서요

    이 조각에 포함된 칸의 좌표 중 가장 작은 x좌표, 가장 큰 x좌표, 가장 작은 y좌표, 가장 큰 y좌표를 구한 후
    네 개의 값을 각각 x1, x2, y1, y2라 할 때, "(x2-x1+1)*(y2-y1+1)=조각의 크기"일것 같은데
    각각의 값을 어떻게 업데이틑 해서 구할지 구현부분이 질문 드립니다


    9년 전
0개의 댓글이 있습니다.
  • 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.