17145번 - 청소 로봇
백트래킹으로 문제를 풀었는데
visit배열 초기화도 DFS함수 내에서 자체적으로 해서 따로 시행할 필요 없게 만들었고
한번이라도 모든 배열을 다 돌았을 시에는 즉시 return해서 불필요한 반복도 없으며
배열의 행 열이 둘다 홀수이며 시작 위치의 x, y를 더한 값이 홀수이면 바로 IMPOSSIBLE을 출력하도록 설계했습니다
여기서 더 줄일 수 있을까요?
백트래킹이 아니라면 어떤 알고리즘을 쓰면 좋을지 문의드립니다 ㅠㅠ
@jh05013 갑작스럽게 언급해서 죄송합니다
이 문제 정답자가 jh05013님밖에 없어서..
혹시 시간이 허용된다면 어떻게 더 효율적으로 만들 수 있는지 한수 부탁드립니다
가능한 경로가 너무 많아서 백트래킹으로 다 볼 수는 없습니다. 조건을 만족하는 경로를 직접 만들어내야 하며, 그런 경로가 없을 필요충분조건도 알아내어야 합니다.
이해력이 부족해서...조건을 만족하는 경로를 직접 만든다는것이 백트래킹을 이용해서 만들어야 된다는 것인가요???
백트래킹 없이 손으로(?) 직접 만들어야 합니다. 수학 문제 풀듯이 하면 됩니다. 예를 들어 R = 1이라면, 백트래킹을 하지 않아도 어떻게 풀어야 하는지 쉽게 알 수 있습니다.
댓글을 작성하려면 로그인해야 합니다.
cdt416z 4년 전
백트래킹으로 문제를 풀었는데
visit배열 초기화도 DFS함수 내에서 자체적으로 해서 따로 시행할 필요 없게 만들었고
한번이라도 모든 배열을 다 돌았을 시에는 즉시 return해서 불필요한 반복도 없으며
배열의 행 열이 둘다 홀수이며 시작 위치의 x, y를 더한 값이 홀수이면 바로 IMPOSSIBLE을 출력하도록 설계했습니다
여기서 더 줄일 수 있을까요?
백트래킹이 아니라면 어떤 알고리즘을 쓰면 좋을지 문의드립니다 ㅠㅠ