skynet0149   6년 전

제일 처음 주석된 대로 하다가 대체 무엇이 문제인지 한참 찾다고 dfs함수에서 a, b를 그냥 받아오지말고 신경 써주지 않은 채

(1) for문에서 주석친대로 i와 j를 초기값을 1로 주고 그 안에서 

map[i][j]=1;

cnt++;

dfs(i, j)

map[i][j]=0;

cnt--;

이런식으로 하고 dfs 맨 위와 아랫 부분 코드를 주석처리하니 돌아가더라구요... 원래 제 생각은 두개의 코드가 똑같다고 생각하는데...

(2) 그리고 i와 j에 dfs인 매개변수 dfs(i ,j) 이런식으로 준 다음 int i=a, int j=b 이거는 또 안되더라구요. 꼭 int i=1, int j=1로 하는 이유가 완전 탐색인 것 같은데... a, b로 받아도 완전탐색인거 같은데  계속 알듯 말듯 한데 정확한 이유를 잘 모르겠습니다...

djm03178   6년 전

i, j를 a, b로 초기화하고 돌리면 그 함수가 호출된 첫 줄에서는 올바르게 동작하지만, 그 다음 줄부터는 1열부터 시작해야 하는데도 또 b열부터 시작한다는 문제가 있습니다. 이 처리만 하면 완전탐색이 됩니다.

skynet0149   6년 전

정말 감사합니다 디버그로 찍어보면서 하는데 생각대로 잘 안되었는데 조언 감사드립니다. 좋은 하루 되세요

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