문제
윷놀이는 잘 알려진 전통 놀이다.
도, 개, 걸, 윷, 모 5가지 경우의 수가 있으며 각각
1, 2, 3, 4, 5 칸 앞으로 전진할 수 있다.
우리가 알고 있는 윷놀이를 조금 변경하여 아래 그림과 같은 판에서 게임을 한다고 하자.
각 정점에 쓰인 수는 점수이다.

게임의 규칙은 다음과 같다.
- 초기에 4개의 말이 주어진다.
- 윷을 던져 나오는 경우는 전통 놀이와 같이 1 ~ 5이다. (백도는 없다. ^^ )
- 윷을 던진 결과를 적용하기 위하여 어느 말을 선택하든 상관없지만 두 마리의 말이 같은 위치에 있을 수 없다.
(전통 놀이처럼 두 말을 포개어 업는 것은 허용되지 않는다. ^^)
- 갈림길이 있는 파란색 정점에서 이동을 시작하는 경우 파란색 선을 따라 이동해야 한다.
- 그 외의 경우(지나쳐 가는 경우)에는 빨간색 선을 따라 이동해야 한다.
- 말이 이동을 시작하여 어떤 정점에 도착하면 그 정접의 점수를 결과에 누적한다.
10번 윷을 던진 결과 나온 수가 주어질 때 얻을 수 있는 최대점수를 구하는 프로그램을 작성하시오.
다음 템플릿 코드를 참고하여 프로그램을 완성하시오.
#include<stdio.h>
/* 여기에 필요한 헤더 파일을 추가할 수 있습니다. */
int main()
{
/*입력의 편의를 위하여 아래 구문을 사용할 수 있습니다.
단 채점시에는 삭제하거나 주석처리해주어야 합니다.*/
//freopen("input.txt", "r", stdin);
int T, tc;
scanf("%d", &T);
for(tc = 1; tc <= T; ++tc)
{
/*여기에 여러분의 구현이 들어갑니다.
함수를 추가하여 호출할 수 있습니다.*/
}
return 0;
}
입력
첫 행에 테스트 케이스의 수 T가 주어진다.( 1 <= T <= 50)
이후 행으로 구분하여 각 테스트 케이스가 주어진다.
각 테스트 케이스는 1 ~ 5로 구성된 10개의 수로 구성되어 있다.
이 수들은 윷을 10번 던진 결과이다.
출력
각 테스트 케이스에 대하여 입력으로 얻을 수 있는 점수합의 최대값을 행으로 구분하여 출력한다.
예제
7
5 2 5 3 5 1 1 2 3 1
4 1 4 3 3 3 1 2 3 1
5 3 3 3 2 2 4 2 1 3
4 4 4 4 1 1 2 1 3 1
5 5 3 4 5 3 3 5 1 3
1 1 1 1 1 1 1 1 1 1
5 5 5 5 5 5 5 5 5 5
235
206
226
242
219
133
130
출처
comkiwer