문제출처 : https://www.acmicpc.net/problem/14891


1. 문제요약

- 8개의 톱니를 가진 4개의 톱니바퀴

- 특정 하나의 톱니바퀴를 시계, 반시계 방향으로 회전

- 마주보고 있는 톱니의 극이 반대이면 옆 톱니바퀴도 같이 회전함


2. 접근방법

- 시뮬레이션


3. 시간복잡도


4. 회고

- 시뮬레이션이 제일 귀찮아


- 톱니 회전을 재귀로 구현했는데... 현재 톱니바퀴를 굴리기 전에 좌우 살펴서 돌릴 수 있으면 재귀

  재귀가 끝난 뒤 현재 톱니바퀴 회전

  재귀가 무한루프에 빠지지 않도록 톱니바퀴에 check를 넣어서 돌린적이 있는지 없는지 확인

  이런식으로 했는데


- for문으로 할 수 있는 방법도 있네

  돌리는 톱니바퀴가 결정되면 좌우에 있는 톱니바퀴는 어디로 돌릴지 방향에 대한 정보를 dir[4]에 각각 저장

  톱니바퀴 4개를 돌면서 저장된 방향대로 톱니바퀴를 회전



소스코드


소스코드 : for문



[출처 : BOJ, 문제에 대한 모든 권리는 BOJ(acmicpc.net, startlink)에 있음]

'먹고살려면 > boj' 카테고리의 다른 글

BOJ 14890 경사로  (0) 2018.02.07
BOJ 9466 텀 프로젝트  (0) 2018.02.06
BOJ 2331 반복수열  (0) 2018.01.30
BOJ 10451 순열 사이클  (0) 2018.01.30
BOJ 1707 이분 그래프  (0) 2018.01.29

+ Recent posts