본문 바로가기

Algorithm/정보올림피아드

알고리즘 > 백트래킹A > 영역 구하기(1457)

Question


문제 링크


Solving

* 어려웠던 점

좌표가 (0,0)~(5,7)로 주어져서 배열을 어떻게 채워넣어야 할지에 대한 혼란이 왔다.


결국 영역의 크기를 받을 때, 채워질 영역을 계산하여 map[0][0]을 2로 채웠다. 

        


1
2
3
4
5
6
7
8
9
for (int i0 = (세로1 + 1); i0 <= 세로2; i0++)
        {
            for (int j = (가로1 + 1); j <= 가로2; j++)
            {
                if (map[i0][j] == 2)
                    continue;
                map[i0][j] = 2;
            }
        }


위의 그림과 같이 라벨링한 다음부터는 편하게 문제를 풀 수 있었다.

이와 비슷한 고민으로 고생을 했던 문제로 koi_ladder ☜ 링크 클릭 

가 있었다.


Code