위의 풀이는 그리디 알고리즘으로 푼것 같습니다.
하지만 꼭 5*5를 최대한 많이 쓴다고해서 전체 사용하는 개수가 줄어드는 것은 아닙니다.
예를 들어
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 0
위의 경우는 7개의 색종이로 붙일 수 있지만
4*4를 먼저 사용하면 불가능(-1)를 출력하게 됩니다.
백트래킹으로 5*5 붙여보고 다시 되돌리고 4*4붙여보고 다시 되돌리는 dfs방법으로 해결하는게 직관적인 풀이방법입니다.
ds04030 4년 전
색종이를 5x5부터 1x1 순서대로 가능한 곳을 찾아가면서 풀도록 하였습니다.
5x5를 최대한 놓고 1 => 0으로 바꾼다.
4x4를 ...
...
1x1 ...
위와 같은 알고리즘으로 풀었는데 왜 틀리는 걸까요? 혹시 제 알고리즘에 어떤 문제가 있는지 아시는분 도움 부탁드립니다. !!