러시아 인형

시간 제한1초메모리 제한128 MB

요약
높이, 지름, 벽 두께가 주어진 2n개의 인형을 완벽하게 겹쳐지는 n개짜리 두 사슬로 나눌 수 있는지 판정한다.
난이도

보통10점 중 6점

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

문제

러시아 인형(마트료시카)은 속이 빈 나무 인형입니다. 한 세트의 인형들은 모양은 같지만 크기가 달라서, 가장 큰 인형 안에 두 번째로 큰 인형이 들어가고, 그 안에 세 번째로 큰 인형이 들어가는 식으로 차례로 포개집니다.

각 인형을 높이 hh, 지름 dd, 벽 두께 ww인 원기둥으로 생각합니다. 그러면 인형의 빈 내부는 높이 h−2wh - 2w, 지름 d−2wd - 2w가 됩니다. 인형 BB가 똑바로 선 채로 인형 AA 안에 들어가려면 BB의 바깥 높이와 바깥 지름이 모두 AA의 내부에 들어가야 합니다. 즉 BB의 높이가 A.h−2 A.wA.h - 2\,A.w 이하이고 BB의 지름이 A.d−2 A.wA.d - 2\,A.w 이하일 때 BB는 AA 안에 들어갑니다.

보리스와 나타샤는 각각 인형 nn개로 이루어진 세트를 하나씩 가지고 있습니다. 두 사람의 세트가 뒤섞여 2n2n개의 인형이 한 상자에 담겼습니다. 이 인형 더미를 각각 정확히 nn개씩인 올바른 포개짐 세트 두 개로 다시 나눌 수 있는지 판단하세요. 즉, 2n2n개의 인형을 nn개씩 두 묶음으로 나누어, 각 묶음 안에서 모든 인형이 바로 다음으로 큰 인형 안에 차례로 포개지도록 만들 수 있는지 알아내면 됩니다.

입력

입력은 여러 개의 테스트 케이스로 이루어집니다. 각 테스트 케이스의 첫 줄에는 한 세트의 인형 개수 nn이 주어집니다 (1<n≤1001 < n \le 100). 이어지는 2n2n개의 줄에는 각각 한 인형의 높이 hh, 지름 dd, 벽 두께 ww를 나타내는 세 정수가 주어집니다 (h,d≥2w>0h, d \ge 2w > 0). 마지막 테스트 케이스 다음에는 00 하나만 있는 줄이 옵니다.

출력

각 테스트 케이스마다 한 줄을 출력합니다. 2n2n개의 인형을 각각 정확히 nn개씩인 두 개의 포개짐 세트로 나눌 수 있으면 YES를, 그렇지 않으면 NO를 출력합니다.

예제5

  1. 예제 1

    입력
    3
    100 100 3
    97 97 3
    94 94 3
    91 91 3
    88 88 3
    85 85 3
    5
    100 100 1
    97 97 3
    98 98 1
    96 96 1
    94 94 1
    92 92 1
    90 90 1
    88 88 1
    86 86 1
    84 84 1
    0
    
    예상 출력
    YES
    YES
    
  2. 예제 2

    입력
    2
    100 100 1
    98 98 1
    97 97 1
    95 95 1
    0
    
    예상 출력
    YES
    
  3. 예제 3

    입력
    2
    10 10 1
    10 10 1
    10 10 1
    10 10 1
    0
    
    예상 출력
    NO
    
  4. 예제 4

    입력
    2
    20 30 2
    16 26 1
    18 18 1
    16 16 1
    0
    
    예상 출력
    YES
    
  5. 예제 5

    입력
    2
    100 100 1
    98 98 1
    97 97 1
    95 95 1
    2
    10 10 1
    10 10 1
    10 10 1
    10 10 1
    2
    20 30 2
    16 26 1
    18 18 1
    16 16 1
    0
    
    예상 출력
    YES
    NO
    YES