풀이
이 문제의 구현사항은 크게 두가지다.
-
회전시킬 톱니바퀴의 좌측과 우측에 배치된 톱니바퀴의 회전유무 판단.
-
회전방향에 따른 톱니상태 업데이트.
회전시킬 톱니와 방향이 주어졌을때, 우선적으로 양 옆에 있는 톱니바퀴들이 영향을 받는지 알아봐야한다.
좌측과 우측을 나누어 맞물리는 톱니가 서로 영향을 준다면 그 톱니바퀴 역시 회전한다는 정보를 저장한다.
회전할 톱니바퀴와 그 방향의 정보를 모두 종합한 후 회전방향에 따라 톱니바퀴들을 회전시키면된다.
이후 출력조건에 맞게 정답을 계산하여 출력해주면된다.
소스코드
References