티스토리 뷰

Problem Solving

boj 2487 : 섞기 수열

1ssrek 2016. 8. 12. 19:52

boj 2487 : 섞기 수열


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


각 cycle 길이의 lcm을 출력해주면 된다.

예를들어 섞기수열이 3 2 5 6 1 4인 경우

cycle(1) = 3 (1->3->5->1),

cycle(2) = 1 (2->2)

cycle(3) = 3

cycle(4) = 2 (4->6->4)

cycle(5) = 3

cycle(6) = 2

이므로 lcm(cycle(1),cycle(2), ..., cycle(6))인 6을 출력해주면 정답.

각각 숫자에 대한 cycle 수를 구하는 것 보단 

1의 cycle을 구하고 cycle의 경로에 있는 1,3,5의 cycle 수도 모두 같은 값으로 해주면 훨씬 빠르다.

'Problem Solving' 카테고리의 다른 글

boj 2698 : Adjacent Bit Counts  (0) 2016.08.12
boj 9518 : MISA  (0) 2016.08.12
boj 2559 : 수열  (0) 2016.08.11
boj 10835 : 카드게임  (0) 2016.08.11
boj 2302 : 극장 좌석  (0) 2016.08.10
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함