kons   8년 전

제 생각은 이렇습니다.


bfs로, Q[i][0]는 이전에 *였는지 S였는지. (S인경우 'a', '*'경우 'b'로 변환했습니다.)

Q[i][1]는 x좌표, Q[i[2]는 y좌표입니다.

s를 먼저 시행하는데, 'a'를 차지한 칸에 'b'로 변해있을 수 있어, if(trace!=D[x][y]) 인 조건에는 continue 시켰습니다.

이 후, 'a'인 경우 옆칸이 '.'일 경우 Q에 넣고, 그 칸을 'a' 로 변환. 'D'인 경우 해당 L을 출력 후 리턴.

'b'인 경우, 옆칸이 'a'이거나 '.'일때 Q에 넣고 그 칸을 'b'로 변환.

혹시 어느 부분이 틀렸는지 아시는분 도움 부탁드립니다.

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