우선 초반에 했던 실수는 1. marble mem_red, mem_blue; mem_red.x = red.x, mem_red.y = red.y, mem_blue.x = blue.x, mem_blue.y = blue.y; 구슬이 이동하지 못했을 때 기억하는 mem 변수를 전역으로 선언해서 제대로된 mem변수로서 역할을 사용하지 못함 2. 다음 경우와 같이 blue가 피해서 red가 들어가는 경우는 원래 red가 제자리 이면 blue를 갱신해주었는데(즉, red만 dfs의 주체가 될뿐, blue는 주체가 아니라 생각함) 그러나 blue가 이동해서 red가 덕본 경우가 있는데 이렇게 소스 코드 변경해줌 if ((red.x == mem_red.x&&red.y == mem_red.y) && (blue.x == mem_blue.x&&blue.y == mem_blue.y)) { continue; } 10 6 ###### #....# #.#..# #..
#R# ##.#.# #....# #.#.B# ...
원문 링크 : 백준 - 구슬 탈출2