시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
---|---|---|---|---|---|
5 초 | 128 MB | 17 | 5 | 5 | 29.412% |
해빈이와 준규는 쿠키를 좋아하는 쌍둥이 형제이다. 두 사람의 친구 진욱이는 해빈이와 준규에게 쿠키를 만들어주는 것을 세상에서 가장 좋아한다. 하지만, 진욱이는 두 사람이 쿠키를 너무 빨리 먹는다면서 불평한다. 오늘은 두 사람에게 쿠키를 천천히 먹는 방법을 게임을 통해 가르치려고 한다.
진욱이가 구운 쿠키의 수는 N개이고, 각각 1번부터 N번까지 번호가 매겨져 있다. 쿠키는 원형으로 배치되어 있고, i번 쿠키는 i-1번과 i+1번 쿠키 사이에 있다. 1번과 N번 쿠키는 서로 이웃이다.
쿠키는 총 26가지 맛이 있다. 진욱이는 각 맛을 알파벳 소문자 'a'부터 'z'까지로 나타낸다. 같은 알파벳을 가지는 맛은 동일하다.
해빈이와 준규는 쿠기를 5분에 하나씩 먹을 수 있다. 진욱이는 숫자 하나를 크게 외치면, 두 사람은 그 쿠키와 이웃한 쿠키를 먹게 된다. 이 게임은 남은 쿠키의 개수가 1개 또는 2개일때까지 계속되며, 게임이 끝난 후 남은 쿠키는 진욱이가 먹는다.
게임은 길이가 (N-1) div 2인 수열로 나타낼 수 있다. 수열의 원소는 진욱이가 외친 숫자이다. 예를 들어, 위의 그림에서 수열은 (4, 8, 6)이 된다. 수열을 이루고 있는 숫자가 다른 경우에 두 게임은 다르다고 한다.
게임을 몇 번 진행한 후에 진욱이는 해빈이와 준규가 게임 도중에 싸운다는 사실을 알아냈다. 이웃한 쿠키가 서로 다른 맛을 가진 경우에는 두 사람이 싸우게 된다.
진욱이는 두 사람을 싸우지 않게 하면서 게임을 진행하려고 한다.
쿠키 N개의 맛이 주어졌을 때, 두 사람을 싸우지 않게 하면서 게임을 진행하는 방법의 수를 구하는 프로그램을 작성하시오. 방법의 수가 매우 클 수 있기 때문에, 10,007로 나눈 나머지를 출력한다.
첫째 줄에 쿠키의 수 N(3 ≤ N ≤ 100)이 주어진다. 둘째 줄에는 쿠키의 맛이 순서대로 주어진다.
해빈이와 준규가 싸우지 않게 하면서 게임을 진행하는 방법의 수를 10007로 나눈 나머지를 출력한다.
8 cibaboca
4
가능한 수열은 (4,8,2), (4,8,6), (8,4,2), (8,4,6)이 있다.
5 aabab
5
가능한 수열은 (3, 1), (5, 2), (4, 4), (4, 1), (4, 2)가 있다.
11 fffffffffff
388