ds04030   4년 전

색종이를 5x5부터 1x1 순서대로 가능한 곳을 찾아가면서 풀도록 하였습니다.

5x5를 최대한 놓고 1 => 0으로 바꾼다.

4x4를 ...

...

1x1 ...

위와 같은 알고리즘으로 풀었는데 왜 틀리는 걸까요? 혹시 제 알고리즘에 어떤 문제가 있는지 아시는분 도움 부탁드립니다. !!

chw0501   4년 전

위의 풀이는 그리디 알고리즘으로 푼것 같습니다.

하지만 꼭 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년 전

감사합니다 결국 이문제는 못풀겠어서 다른 분들 코드를 참고했네용 ㅜㅜ

댓글을 작성하려면 로그인해야 합니다.