스누커 테이블에 남은 공이 주어질 때, 빨강과 색깔 공 교대 규칙을 지키며 한 턴에 얻을 수 있는 최대 점수를 계산한다.
보통6그리디구현수학시뮬레이션면접 대비아직 제출이 없습니다시간 제한1초메모리 제한512 MB스누커는 두 선수가 직사각형 테이블에서 번갈아 공을 포켓에 넣는 큐 스포츠다. 공은 색마다 점수가 정해져 있다.
| 색 | red | yellow | green | brown | blue | pink | black |
|---|---|---|---|---|---|---|---|
| 점수 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
한 차례는 연속으로 공을 넣는 과정이다. 규칙이 허락하는 공이 테이블에 하나도 없으면 그 차례가 끝난다. 공 하나를 넣을 때 적용되는 규칙은 다음과 같다.
차례의 첫 공은 바로 앞에 넣은 공이 없는 상태에서 같은 규칙을 따른다.
넣은 red는 테이블로 돌아오지 않는다. red 바로 다음에 넣은 색 공은 곧바로 테이블로 돌아오며, 마지막 red 바로 다음에 넣은 색 공도 돌아온다. 그 밖에 넣은 공은 테이블에서 빠진다.
노련한 선수는 테이블을 한 번 훑어보는 것만으로 남은 공에서 몇 점을 낼 수 있는지 바로 계산한다. 이제 막 스누커를 시작한 선수에게는 쉽지 않은 일이다. 테이블에 남아 있는 공이 주어질 때, 한 차례에 얻을 수 있는 최대 점수를 구하는 프로그램을 작성하시오. 공을 하나 넣을 때마다 그 공의 점수를 얻는다.
첫째 줄에 테이블에 남아 있는 공의 개수 N (1 ≤ N ≤ 21)이 주어진다.
다음 N개 줄에는 공의 색이 한 줄에 하나씩 주어진다. 색은 red, yellow, green, brown, blue, pink, black 중 하나다.
공이 주어지는 순서는 정해져 있지 않고, yellow, green, brown, blue, pink, black은 각각 최대 한 번만 나온다.
한 차례에 얻을 수 있는 최대 점수를 출력한다.