만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

버튼을 누르는 두 로봇

면접 대비

시간 제한5초메모리 제한512 MB

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

쉬움10점 중 3점

유형
시뮬레이션, 그리디
정답자
아직 제출이 없습니다

문제

파란 로봇과 주황 로봇이 서로 다른 복도에 갇혀 있다. 두 복도에는 각각 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는 버튼 번호이다. 모든 값은 공백으로 구분된다.

제한

  • 1≤T≤201 \le T \le 20
  • 1≤N≤101 \le N \le 10
  • 모든 ii에 대해 1≤Pi≤1001 \le P_i \le 100

출력

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

예제4

  1. 예제 1

    입력
    3
    4 O 2 B 1 B 2 O 4
    3 O 5 O 8 B 100
    2 B 2 B 1
    
    예상 출력
    Case #1: 6
    Case #2: 100
    Case #3: 4
    
  2. 예제 2

    입력
    1
    1 B 1
    
    예상 출력
    Case #1: 1
    
  3. 예제 3

    입력
    1
    1 O 100
    
    예상 출력
    Case #1: 100
    
  4. 예제 4

    입력
    1
    10 O 1 O 1 O 1 O 1 O 1 O 1 O 1 O 1 O 1 O 1
    
    예상 출력
    Case #1: 10