idforipad   4년 전

  1. 현재 위치를 청소한다.
  2. 현재 위치에서 현재 방향을 기준으로 왼쪽방향부터 차례대로 탐색을 진행한다.
    1. 왼쪽 방향에 아직 청소하지 않은 공간이 존재한다면, 그 방향으로 회전한 다음 한 칸을 전진하고 1번부터 진행한다.
    2. 왼쪽 방향에 청소할 방향이 없다면, 그 방향으로 회전하고 2번으로 돌아간다.
    3. 네 방향 모두 청소가 이미 되어있거나 벽인 경우에는, 바라보는 방향을 유지한 채로 한 칸 후진을 하고 2번으로 돌아간다.
    4. 네 방향 모두 청소가 이미 되어있거나 벽이면서, 뒤쪽 방향이 벽이라 후진도 할 수 없는 경우에는 작동을 멈춘다.
일단 예제 2 시작점 7,4는   2로 표시한곳이 맞습니까?
1 1 1 1 1 1 1 1 1 1
1 0 0 0 0 0 0 0 0 1
1 0 0 0 1 1 1 1 0 1
1 0 0 1 1 0 0 0 0 1
1 0 1 1 0 0 0 0 0 1
1 0 0 0 0 0 0 0 0 1
1 0 0 0 0 0 0 1 0 1
1 0 0 3 2 9 1 1 0 1
1 0 0 4 5 8 1 1 0 1
1 0 0 0 6 7 0 0 0 1
1 1 1 1 1 1 1 1 1 1
그렇다면 북쪽을 보고 시작하니까
2의 왼쪽으로 돌고 전진, 청소 왼쪽으로돌고 전진, 청소 를반복하는거 아닙니까?

그럼 순서대로 2345 까지갔다가
5왼쪽에 0이아니니 2쪽으로 회전하고, 그럼 왼쪽에 4가있으니 또 4쪽으로회전하고, 6은 밑으로..
이렇게 하라는 의미인거같은데
답과 전혀다르게나옵니다;


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