범죄의 집 (큰 입력)

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

요약
마스크로 가려진 출입 기록을 단일 출입문 가정에 맞추어 설명할 수 있는지 판단하고 안에 남을 수 있는 최소 인원을 구합니다.
난이도

보통10점 중 6점

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

문제

경찰에서 일하다가 범죄를 저지르려는 사람이 모이는 집을 하나 찾아냈다. 사람들은 이 집을 범죄의 집이라고 부른다. 어느 날 현관문 위에 카메라를 달아 하루 동안 영상을 녹화했다.

하루가 시작될 때 집 안에 몇 명이 있었는지는 모른다. 다만 현관문을 지나간 사람은 모두 영상에 남는다. 드나든 사람이 범죄자여서 가면을 쓴 사람도 있고, 현관문이 유일한 출입구인지도 확실하지 않다.

가면을 쓴 사람이 누구였는지 짐작할 수 있는 경우도 있다. 5번이 들어가고, 가면을 쓴 사람이 나가고, 5번이 다시 들어갔다면, 가면을 쓴 사람이 5번이었거나 범죄의 집에 다른 출구가 있다.

하루가 끝나고 집이 문을 닫은 뒤 영상을 돌려 본다. 현관문 외에 다른 출입구가 없다고 해도 영상과 모순되지 않는 상황이 있는지 판정하고, 있다면 하루가 끝난 시점에 집 안에 남아 있는 사람 수의 최솟값을 구한다.

상황은 다음 규칙을 지켜야 한다.

  • 사람은 집 안에 있거나 집 밖에 있다. 한 사람이 같은 시점에 두 번 집 안에 있을 수는 없다.
  • 기록이 E이면 집 밖에 있던 사람이 현관문으로 들어갔다. 기록이 L이면 집 안에 있던 사람이 현관문으로 나갔다.
  • id가 0인 기록은 가면을 쓴 사람이고 신원을 알 수 없다. 영상의 다른 기록에서 양수 id로 등장하는 사람일 수도 있고, 신원이 한 번도 드러나지 않는 사람일 수도 있다.
  • 하루가 시작될 때 집 안에 있던 사람의 수와 신원은 모른다.

입력

첫 줄에 테스트 케이스의 수 TT가 주어진다. 각 테스트 케이스의 첫 줄에는 하루 동안 사람이 범죄의 집 현관문을 지나간 횟수 NN이 주어진다. 다음 NN개의 줄에는 기록이 시간 순서대로 한 줄에 하나씩 주어진다. 각 줄은 문자 하나와 공백, 정수 id로 이루어진다. 문자가 E이면 누군가 현관문으로 들어간 것이고, L이면 누군가 현관문으로 나간 것이다. id가 0보다 크면 그 번호를 가진 사람이 드나들었고, id가 0이면 가면을 쓴 사람이 드나들었다.

제한

  • 1≤T≤1001 \le T \le 100
  • 1≤N≤10001 \le N \le 1000
  • 0≤id≤20000 \le \mathrm{id} \le 2000

출력

각 테스트 케이스마다 "Case #x: y" 형식으로 한 줄씩 출력한다. xx는 1부터 시작하는 테스트 케이스 번호다. 범죄의 집에 현관문 외에 다른 출입구가 없는 상황이 가능하면 yy는 하루가 끝난 시점에 집 안에 있을 수 있는 사람 수의 최솟값이다. 불가능하면 yy는 CRIME TIME이다.

예제2

  1. 예제 1

    입력
    5
    3
    E 5
    L 0
    E 5
    2
    L 1
    L 1
    4
    L 1
    E 0
    E 0
    L 1
    7
    L 2
    E 0
    E 1
    E 2
    E 0
    E 3
    L 4
    13
    L 4
    L 1
    L 2
    E 0
    L 1
    E 0
    L 2
    E 0
    L 2
    E 0
    E 0
    L 1
    L 4
    
    예상 출력
    Case #1: 1
    Case #2: CRIME TIME
    Case #3: 1
    Case #4: 4
    Case #5: 0
    
  2. 예제 2

    입력
    10
    1
    E 0
    1
    L 0
    1
    E 7
    1
    L 7
    2
    E 0
    L 0
    2
    L 0
    E 0
    2
    E 1
    E 1
    2
    L 1
    L 1
    2
    E 1
    L 1
    2
    L 1
    E 1
    
    예상 출력
    Case #1: 1
    Case #2: 0
    Case #3: 1
    Case #4: 0
    Case #5: 0
    Case #6: 1
    Case #7: CRIME TIME
    Case #8: CRIME TIME
    Case #9: 0
    Case #10: 1