버튼을 누르는 두 로봇

두 로봇이 각자의 복도에서 병렬로 이동하며 정해진 순서대로 버튼을 누를 때 걸리는 최소 시간을 구합니다.

쉬움3시뮬레이션그리디면접 대비아직 제출이 없습니다시간 제한5초메모리 제한512 MB

문제

파란 로봇과 주황 로봇이 서로 다른 복도에 갇혀 있다. 두 복도에는 각각 1번부터 100번까지 번호가 붙은 버튼 100개가 놓여 있고, kk번 버튼은 복도 입구에서 kk미터 떨어진 자리에 있다. 두 로봇은 모두 1번 버튼 앞에서 출발한다.

1초 동안 로봇 한 대는 다음 셋 중 하나를 한다.

  • 어느 한 방향으로 1미터 이동한다.
  • 지금 서 있는 자리의 버튼을 한 번 누른다.
  • 제자리에 서서 아무것도 하지 않는다.

두 로봇은 정해진 버튼 목록을 그 순서대로 눌러야 한다. 순서는 두 로봇이 미리 모두 알고 있고, 매 초 두 로봇이 동시에 움직인다. 순서상 앞선 버튼을 누르는 동작이 끝나기 전에는 다음 버튼을 누를 수 없다. 목록에 있는 버튼을 모두 순서대로 누르는 데 필요한 최소 시간을 초 단위로 구하라.

O 2는 주황 로봇 복도의 2번 버튼, B 1은 파란 로봇 복도의 1번 버튼을 뜻한다. 예컨대 O 2, B 1, B 2, O 4 순서는 아래 계획대로 6초에 끝낼 수 있다.

시각주황파랑
12번으로 이동1번에서 대기
22번 버튼을 누름1번에서 대기
33번으로 이동1번 버튼을 누름
44번으로 이동2번으로 이동
54번에서 대기2번 버튼을 누름
64번 버튼을 누름2번에서 대기

파랑은 주황이 O 2를 누르는 동작을 끝낼 때까지 기다린 다음에야 B 1을 누를 수 있다.

입력

첫 줄에 테스트 케이스의 수 TT가 주어진다.

이어지는 TT개의 줄에 테스트 케이스가 한 줄씩 주어진다. 각 줄은 눌러야 하는 버튼의 개수 NN으로 시작하고, 그 뒤에 항목 NN개가 R1R_1 P1P_1 R2R_2 P2P_2 순서로 온다. RiR_i는 로봇의 색이며 O 또는 B이고, PiP_i는 버튼 번호이다. 모든 값은 공백으로 구분된다.

제한

  • 1T201 \le T \le 20
  • 1N101 \le N \le 10
  • 모든 ii에 대해 1Pi1001 \le P_i \le 100

출력

각 테스트 케이스마다 Case #x: y 형식으로 한 줄씩 출력한다. xx는 1부터 시작하는 테스트 케이스 번호이고, yy는 주어진 버튼을 순서대로 모두 누르는 데 필요한 최소 시간(초)이다.