cjhjong0824   2년 전

문제 예시 설명에서 아래 굵게 따옴표 친 부분이 이해가 안 가서 질문 드립니다.

"위와 같은 상태에서 1번 톱니바퀴를 시계 방향으로 회전시키면, 2번 톱니바퀴가 반시계 방향으로 회전하게 되고, 2번이 회전하기 때문에, 3번도 동시에 시계 방향으로 회전하게 된다. 4번은 3번이 회전하지만, 맞닿은 극이 같기 때문에 회전하지 않는다. 따라서, 아래와 같은 상태가 된다."

문제 초반부 설명을 보면, "톱니바퀴 A를 회전할 때, 그 옆에 있는 톱니바퀴 B와 서로 맞닿은 톱니의 극이 다르다면, B는 A가 회전한 방향과 반대방향으로 회전하게 된다." 라고 나와 있습니다.

저는 A를 특정 방향으로 회전 시키고 나서 A와 B의 맞닿은 극이 같아야 B가 이후에 회전되는 것으로 이해 했습니다. 그런데 위 따옴표에서 1번 톱니바퀴를 회전 시키고 나면 1번과 2번의 맞닿은 극이 서로 같아집니다. 그래서 1번이 회전한 후 2번이 회전되는 것이 이해가 안가네요.


아래에는 제가 이해한 대로 BFS로 구현한 코드를 올려 두었습니다.

혹시 제가 놓친 부분이 있을까요? 미리 답변 감사 드립니다.

jh05013   2년 전

모든 톱니바퀴가 동시에 회전합니다.

cjhjong0824   2년 전

jh05013 // 특정 톱니바퀴를 회전시키면 이웃한 톱니바퀴는 무조건 1회 회전시킨 후에 맞닿은 극을 체크하면 될까요?

jh05013   2년 전

회전시키기 전의 맞닿은 극을 체크해야 합니다.

"위와 같은 상태에서 1번 톱니바퀴를 시계 방향으로 회전시키면 ..."에서, 1번 바퀴가 회전되기 전에 2번 바퀴와 맞닿은 극이 서로 반대입니다. 따라서 2번 바퀴가 같이 회전되고, 그 전에 3번 바퀴와 맞닿은 극이 서로 반대이기 때문에 3번 바퀴도 같이 회전됩니다. 그 전에 4번 바퀴와 맞닿은 극은 같기 때문에 4번 바퀴는 회전하지 않습니다.

jh05013   2년 전

상식적으로 한 자석이 다른 자석에 가까이 간다고 생각해 볼 때, 한 자석이 완전히 멈추고 나서야 다른 자석이 움직이진 않죠? 같이 움직여야 합니다.

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