만드는 중입니다

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

병사 선발 (작은 입력)

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

요약
지금까지 고른 병사보다 공격력이나 방어력이 큰 병사를 두 사람이 번갈아 고를 때, 선공이 더 많은 병사를 가져가도록 보장할 수 있는지 판정한다.
난이도

보통10점 중 7점

유형
게임 이론, 정렬, 그리디, 구현
정답자
아직 제출이 없습니다

문제

앨리스 장군과 밥 장군이 병사 NN명으로 전쟁 게임을 한다. ii번 병사의 공격력은 AiA_i, 방어력은 DiD_i이다.

게임을 시작하기 전에 두 장군은 번갈아 병사를 뽑고, 앨리스가 먼저 뽑는다. 지금까지 뽑힌 병사의 집합을 SS라고 하자. 차례가 된 장군은 다음 두 조건 중 적어도 하나를 만족하는 병사 xx를 뽑을 수 있다.

  • SS에 속한 모든 병사 ss에 대해 Ax>AsA_x > A_s
  • SS에 속한 모든 병사 ss에 대해 Dx>DsD_x > D_s

SS가 비어 있는 동안에는 두 조건이 모두 성립하므로 첫 병사는 아무나 뽑아도 된다. 이미 SS에 있는 병사는 자기 공격력과 방어력을 넘지 못하므로 다시 뽑을 수 없다. 차례가 된 장군이 뽑을 병사가 하나도 없으면 선발이 끝나고 게임이 시작된다.

앨리스는 밥보다 병사를 많이 뽑으려 하고, 밥은 이를 막으려 한다. 두 장군이 각자의 목표에 맞춰 최선을 다할 때 앨리스가 목표를 이루는지 판정하라.

입력

첫 줄에 테스트 케이스의 수 TT가 주어진다. 각 테스트 케이스의 첫 줄에는 병사의 수 NN이 주어지고, 이어지는 NN개 줄에는 ii번 병사의 공격력 AiA_i와 방어력 DiD_i가 공백으로 구분되어 주어진다.

제한:

  • 1≤T≤101 \le T \le 10
  • 1≤N≤2001 \le N \le 200
  • 1≤Ai,Di≤100001 \le A_i, D_i \le 10000

출력

각 테스트 케이스마다 Case #x: y 형식으로 한 줄씩 출력한다. x는 1부터 시작하는 테스트 케이스 번호이고, y는 밥이 어떻게 하더라도 앨리스가 더 많은 병사를 뽑을 수 있으면 YES, 그렇지 않으면 NO이다.

예제2

  1. 예제 1

    입력
    3
    3
    10 2
    1 10
    10 3
    3
    10 1
    10 10
    1 10
    3
    10 2
    1 10
    4 9
    
    예상 출력
    Case #1: NO
    Case #2: YES
    Case #3: YES
    
  2. 예제 2

    입력
    1
    1
    7 9
    
    예상 출력
    Case #1: YES