ad1259   3년 전

우선 예제 4개 코드는 다 돌아가고 다른 반례 몇 개도 찾아서 넣어봤는데 잘 되더라구요

근데 돌리면 시작하자마자 틀렸습니다... 뜨네요

왼쪽 , 오른쪽 순서대로 체크하면서 회전할 톱니 리스트에 담고

회전시키는 로직으로 짰는데 무슨 문제가 있는 걸까요??

gkgg123   3년 전

반례 찾았네요

11001110
10000101
01111110
01101111
4
2 -1
2 -1
2 1
2 1

이렇게 할 시 

정답 10

오답 6

이 나옵니다.

왼쪽 오른쪽 rotate를 할때


왼쪽 rotate를 끝나고 which를 초기화 해주는 것은 잘 하셨는데,

rotate를 초기화 해주는 것을 깜빡하셨네요.

2번 톱니가 반시계를 하고, 1번 톱니가 돌아가면 시계방향으로 rotate가 바뀌는데


그 다음에 오른쪽 톱니바퀴를 탐색해야하는데

원래 2번 톱니의 rotate는 반시계인데 위의 반복문에서 끝날때에는 rotate가 시계방향으로 끝나있어서 반대방향으로 탐색을 하네요


그 부분만 고치시면 통과되네요

ad1259   3년 전

와... rotate 초기화를 안했구나

정말 완벽한 설명에 반례까지... 감사합니다!!!

덕분에 해결했습니다

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