백준 15662번 - 톱니바퀴 (2) (Go)
·
algorithm
https://www.acmicpc.net/problem/15662 분석이 문제는 주어진 조건에 따라 여러 개의 톱니바퀴를 회전시키는 시뮬레이션 문제입니다.시간복잡도는 회전 횟수 k번 동안 최대 t개의 톱니바퀴를 검사하고 회전시켜야 하므로 O(k * t)$입니다. 1,000 * 1,000 = 1,000,000으로 2초라는 시간 제한 내에 충분히 여유롭게 통과 가능합니다.공간복잡도는 톱니바퀴 상태를 저장하는 int 형 2차원 배열 O(t * 8)$입니다. 8 byte * 1,000 * 8은 약 64KB 정도로 매우 여유롭습니다. 알고리즘 로직을 생각해 보면,연쇄 회전 결정:특정 톱니바퀴가 회전할 때, 양옆의 톱니바퀴가 함께 회전할지 여부를 먼저 결정해야 합니다.회전이 실제로 일어나기 전의 상태를 기준으로 ..