킹덤 러시

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

요약
별 요구량을 만족하며 모든 레벨에 별 2개를 받는 최소 클리어 순서를 구합니다.
난이도

보통10점 중 5점

유형
그리디, 정렬
정답자
아직 제출이 없습니다

문제

라이언은 아이언하이드 게임 스튜디오가 만든 1인용 타워 디펜스 게임 킹덤 러시를 한다. 이 게임에서는 레벨을 깨면 별을 얻고, 별이 많을수록 플레이어가 강해진다. 그래서 지금은 2번 레벨을 깨지 못해도 1번 레벨에서 별을 모은 뒤에는 깰 수 있다.

이 문제의 규칙은 실제 게임의 규칙과 다르다. 문제를 풀려고 이 게임을 해 볼 필요는 없다.

이 문제에서는 레벨을 깨면 별 하나 등급이나 별 둘 등급을 받는다. 별은 다음과 같이 얻는다.

  • 한 번도 깬 적 없는 레벨을 별 하나 등급으로 깨면 별 1개를 얻는다.
  • 한 번도 깬 적 없는 레벨을 별 둘 등급으로 깨면 별 2개를 얻는다.
  • 전에 별 하나 등급으로만 깬 레벨을 이번에 별 둘 등급으로 깨면 별 1개를 더 얻는다.

이 세 가지가 아닌 경우에는 별을 얻지 못한다.

라이언이 모든 레벨을 바로 깰 수 있는 것은 아니다. 레벨 ii를 별 하나 등급으로 깨려면 별이 aia_i개 있어야 하고, 별 둘 등급으로 깨려면 별이 bib_i개 있어야 한다. bib_i는 aia_i보다 작지 않다.

예를 들어 레벨이 두 개인 경우를 보자. 1번 레벨은 별 하나 등급에 별 0개, 별 둘 등급에 별 1개가 필요하고, 2번 레벨은 별 하나 등급에 별 0개, 별 둘 등급에 별 2개가 필요하다. 라이언은 다음처럼 진행할 수 있다.

  1. 별 0개로 시작하니 1번 레벨이나 2번 레벨을 별 하나 등급으로 깰 수 있다. 1번 레벨을 별 하나 등급으로 깨고 나면 별이 1개다.
  2. 이제 2번 레벨을 별 하나 등급으로, 또는 1번 레벨을 별 둘 등급으로 깰 수 있다. 1번 레벨을 별 둘 등급으로 깨고 나면 별이 2개다.
  3. 이제 2번 레벨을 별 둘 등급으로 깰 수 있다. 그렇게 하면 별이 4개다.
  4. 모든 레벨이 별 둘 등급이 되었고, 별은 레벨마다 2개씩 모두 4개다. 레벨을 깬 횟수는 3번이고, 1번 레벨을 두 번, 2번 레벨을 한 번 깼다.

모든 레벨에서 별 둘 등급을 받으려면 라이언이 레벨을 최소 몇 번 깨야 하는지 구하라.

입력

첫째 줄에 테스트 케이스의 개수 TT가 주어진다. 각 테스트 케이스의 첫째 줄에는 게임의 레벨 개수 NN이 주어진다. 이어지는 NN개 줄 가운데 ii번째 줄에는 정수 aia_i와 bib_i가 주어진다. aia_i는 레벨 ii에서 별 하나 등급을 받는 데 필요한 별의 개수이고, bib_i는 별 둘 등급을 받는 데 필요한 별의 개수다.

제한

  • 1≤T≤1001 \le T \le 100
  • 1≤N≤101 \le N \le 10
  • 0≤ai≤bi≤20010 \le a_i \le b_i \le 2001

출력

각 테스트 케이스마다 Case #x: y 형식으로 한 줄씩 출력한다. xx는 1부터 시작하는 테스트 케이스 번호이고, yy는 모든 레벨에서 별 둘 등급을 받기까지 라이언이 레벨을 깨야 하는 최소 횟수다. 모든 레벨에서 별 둘 등급을 받는 것이 불가능하면 yy 자리에 Too Bad를 출력한다. 대소문자는 그대로 지켜야 한다.

예제3

  1. 예제 1

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

    입력
    3
    1
    0 0
    1
    0 1
    1
    0 3
    
    예상 출력
    Case #1: 1
    Case #2: 2
    Case #3: Too Bad
    
  3. 예제 3

    입력
    2
    3
    0 0
    0 0
    0 0
    2
    1 1
    0 2
    
    예상 출력
    Case #1: 3
    Case #2: 3