57분컷.. 방향을 지정해주고 직행하거나 다시 방향을 트는데 복잡하게 for문으로 풀지 않고 재귀로 풀어 다음 재귀로 들어갔을 시에 방향턴한 것을 검사하도록 하였다.
방향을 지정해주는 데 다음 두가지를 잘 못해서 정확한 답이 안나왔다. int dir[4] = { 3,0,1,2 }, dirx[4] = { -1,0,1,0 } 왼쪽으로 방향을 틀어야하므로 0방향->3방향, 1방향->0방향, 2방향->1방향, 3방향->2방향 으로 향해야하며, dirx는 1,0,-1,0으로 써서 실수했다. #include using namespace std; int n, m, map[50][50]; int dir[4] = { 3,0,1,2 }, dirx[4] = { -1,0,1,0 }, diry[4] = { 0,1,0,-1 }, cross_dir[4] = { 2,3,0,1 }; bool finish; typedef struct { int x, y, dir, cnt; }position; p...
원문 링크 : 백준 - 로봇 청소기