버튼을 누르는 두 로봇
면접 대비시간 제한5초메모리 제한512 MB
두 로봇이 각자의 복도에서 병렬로 이동하며 정해진 순서대로 버튼을 누를 때 걸리는 최소 시간을 구합니다.
문제
파란 로봇과 주황 로봇이 서로 다른 복도에 갇혀 있다. 두 복도에는 각각 1번부터 100번까지 번호가 붙은 버튼 100개가 놓여 있고, 번 버튼은 복도 입구에서 미터 떨어진 자리에 있다. 두 로봇은 모두 1번 버튼 앞에서 출발한다.
1초 동안 로봇 한 대는 다음 셋 중 하나를 한다.
- 어느 한 방향으로 1미터 이동한다.
- 지금 서 있는 자리의 버튼을 한 번 누른다.
- 제자리에 서서 아무것도 하지 않는다.
두 로봇은 정해진 버튼 목록을 그 순서대로 눌러야 한다. 순서는 두 로봇이 미리 모두 알고 있고, 매 초 두 로봇이 동시에 움직인다. 순서상 앞선 버튼을 누르는 동작이 끝나기 전에는 다음 버튼을 누를 수 없다. 목록에 있는 버튼을 모두 순서대로 누르는 데 필요한 최소 시간을 초 단위로 구하라.
O 2는 주황 로봇 복도의 2번 버튼, B 1은 파란 로봇 복도의 1번 버튼을 뜻한다. 예컨대 O 2, B 1, B 2, O 4 순서는 아래 계획대로 6초에 끝낼 수 있다.
파랑은 주황이 O 2를 누르는 동작을 끝낼 때까지 기다린 다음에야 B 1을 누를 수 있다.
입력
첫 줄에 테스트 케이스의 수 가 주어진다.
이어지는 개의 줄에 테스트 케이스가 한 줄씩 주어진다. 각 줄은 눌러야 하는 버튼의 개수 으로 시작하고, 그 뒤에 항목 개가 순서로 온다. 는 로봇의 색이며 O 또는 B이고, 는 버튼 번호이다. 모든 값은 공백으로 구분된다.
제한
- 모든 에 대해
출력
각 테스트 케이스마다 Case #x: y 형식으로 한 줄씩 출력한다. 는 1부터 시작하는 테스트 케이스 번호이고, 는 주어진 버튼을 순서대로 모두 누르는 데 필요한 최소 시간(초)이다.