goodjaeheui   4년 전

먼저 로직은 

메인에서 1,2,3,4인 동서남북을 회전을 편하게 시키기 위해 남동서북 0,1,2,3으로 바꿨습니다.

그런다음 bfs함수로 들어가서 

구조체( x,y,방향, 직진 몇번했는지 알려주는 변수(goCount),현재 시간)를 가진 큐를 생성합니다.

for문 안에 3개의 반복을 거치는데 

먼저 직진 {

goCount값이 0이면 시간 1카운트

 goCount 카운트시키고 

만약 goCount값이 3이면 (즉 3번 직진한 상태면 0으로 다시 초기화)

}

그다음 왼쪽회전{

방향값을 +1 해준다.

time값+1 과 goCount=0으로 초기화

}

그다음 오른쪽회전 {

 방향값을 -1 해줘야하지만 음수를 고려해서 (d+3)%4 로 했습니다

time값+1 과 goCount=0으로 초기화

}

이렇게 로직이 잘 구현돼 있다고 생각하는데 어떤부분에서 틀린건지 잘 모르겠습니다. 질문에 있던 테케랑 제가 만든 반례도 다 맞구요.. 

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