본문 바로가기
Algorithm/시뮬레이션(구현)

14891 톱니바퀴

by neohtux 2020. 8. 7.
728x90

https://www.acmicpc.net/problem/14891

 

14891번: 톱니바퀴

총 8개의 톱니를 가지고 있는 톱니바퀴 4개가 아래 그림과 같이 일렬로 놓여져 있다. 또, 톱니는 N극 또는 S극 중 하나를 나타내고 있다. 톱니바퀴에는 번호가 매겨져 있는데, 가장 왼쪽 톱니바퀴

www.acmicpc.net

 

(풀이)

4개의 톱니바퀴가 회전하는 시뮬레이션 문제이다.

단순히 구현으로 풀었다.

 

가장 먼저 고려하는 부분은

1)회전이 가능한 톱니바퀴를 어떻게 찾을 것인가.

2)회전은 어떻게 진행되는가.

3)진행이 끝나고 점수를 획득하는 방법

 

회전이 가능한 톱니바퀴는

1번 톱니바퀴의 세번째 톱니

2번 톱니바퀴의 세번째, 일곱번째 톱니

3번 톱니바퀴의 세번째, 일곱번째 톱니

4번 톱니바퀴의 일곱번째 톱니 를 고려하였을때 값이 다르다면 회전이 가능한 톱니바퀴로 판단하였다.

 

회전은 홀수,짝수번쨰 톱니바퀴끼리는 같은 방향으로 회전을 한다.

따라서 처음 회전시키는 회전방향이 시계 방향인지 반시계방향인지에 값이 달라지는 부분을 만들어주고

각 홀수, 짝수 번쨰 톱니바퀴를 같은 방향이되게 구현하였다.

 

3)진형이 끝나고 점수를 획득 하는 방법은 각 n번째 (0,1,2,3) 톱니바퀴 값이 2^n으로 표현되기 때문

시프트연산을 통해 구함.

300x250

'Algorithm > 시뮬레이션(구현)' 카테고리의 다른 글

17144 미세먼지 안녕!  (0) 2020.12.07
15685 드래곤 커브  (0) 2020.08.07
17140 이차원 배열과 연산  (0) 2020.08.07

댓글