만드는 중입니다

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

기하 다트

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

요약
여섯 다트 낙하지점이 원과 직사각형과 삼각형 안에 각각 몇 개씩 들어가는지 세어 매 게임의 승자를 정합니다.
난이도

쉬움10점 중 3점

유형
기하, 완전 탐색
정답자
아직 제출이 없습니다

문제

밥과 한나는 다트를 좋아하지만 실력이 좋지 않아서 501 다트 한 판을 끝내는 데 한없이 오래 걸린다. 그래서 다트판을 아예 치우고 벽에 도형을 붙인 다음, 다트가 뚫고 지나간 도형의 개수만큼 점수를 주기로 했다. 점수 계산을 간단히 하려고 원, 삼각형, 직사각형만 쓴다.

한 게임에서 두 사람은 다트를 세 번씩 던진다. 다트 하나의 점수는 그 다트가 꽂힌 점을 내부에 포함하는 도형의 개수이고, 한 사람의 점수는 자기 다트 세 개의 점수 합이다. 도형과 던진 위치가 주어질 때 각 게임의 승자를 구하라.

입력

첫 줄에 도형의 개수 SS가 주어진다. 이어지는 SS개의 줄에 도형이 다음 세 형식 중 하나로 주어진다.

  • C x y r: 중심이 (x,y)(x, y)이고 반지름이 rr인 원
  • R x1 y1 x2 y2: 마주 보는 두 꼭짓점이 (x1,y1)(x_1, y_1)과 (x2,y2)(x_2, y_2)인 직사각형이며, x1<x2x_1 < x_2이고 y1<y2y_1 < y_2이다
  • T x1 y1 x2 y2 x3 y3: 세 꼭짓점이 (x1,y1)(x_1, y_1), (x2,y2)(x_2, y_2), (x3,y3)(x_3, y_3)인 삼각형

다음 줄에 게임 수 NN이 주어진다. 게임 하나는 여섯 줄로 이루어지고, 각 줄에는 다트가 꽂힌 점의 xx 좌표와 yy 좌표가 주어진다. 앞의 세 줄이 밥이 던진 위치, 뒤의 세 줄이 한나가 던진 위치다.

  • 0<S≤10000 < S \le 1000
  • 0<N≤10000 < N \le 1000
  • 모든 직사각형의 변은 xx축, yy축과 평행하다.
  • 삼각형의 세 꼭짓점은 한 직선 위에 있지 않다.
  • 모든 좌표는 소수점 아래 여섯 자리까지 주어지는 실수다.
  • 모든 도형은 (−1000,−1000)(-1000, -1000)과 (1000,1000)(1000, 1000)을 마주 보는 두 꼭짓점으로 하는 직사각형 안에 들어간다.
  • 다트가 꽂힌 점은 어떤 도형의 경계에서도 10−610^{-6} 이상 떨어져 있다.

출력

게임마다 한 줄씩 승자를 출력한다. 밥의 점수가 더 높으면 Bob, 한나의 점수가 더 높으면 Hannah, 두 점수가 같으면 Tied를 출력한다.

예제3

  1. 예제 1

    입력
    3
    C 0.0 0.0 5.0
    R -1.0 -1.0 7.0 7.0
    T 0.0 0.0 -3.0 0.0 0.0 -8.0
    1
    0.0 4.1
    0.0 6.2
    0.0 8.1
    -0.5 -0.5
    -0.5 -2.0
    -0.5 -5.1
    
    예상 출력
    Hannah
    
  2. 예제 2

    입력
    3
    C 0.0 0.0 10.0
    R 0.0 0.0 5.0 5.0
    T 0.0 0.0 10.0 0.0 0.0 10.0
    1
    1.0 1.0
    2.0 2.0
    3.0 1.0
    9.0 9.0
    -20.0 0.0
    0.5 -0.5
    
    예상 출력
    Bob
    
  3. 예제 3

    입력
    2
    C 0.0 0.0 4.0
    R -2.0 -2.0 2.0 2.0
    2
    1.0 1.0
    -1.0 -1.0
    3.0 0.0
    -1.0 1.0
    1.0 -1.0
    0.0 3.0
    100.0 100.0
    -100.0 -100.0
    50.0 -50.0
    200.0 0.0
    0.0 -200.0
    -300.0 400.0
    
    예상 출력
    Tied
    Tied