기하 다트
시간 제한1초메모리 제한256 MB
여섯 다트 낙하지점이 원과 직사각형과 삼각형 안에 각각 몇 개씩 들어가는지 세어 매 게임의 승자를 정합니다.
문제
밥과 한나는 다트를 좋아하지만 실력이 좋지 않아서 501 다트 한 판을 끝내는 데 한없이 오래 걸린다. 그래서 다트판을 아예 치우고 벽에 도형을 붙인 다음, 다트가 뚫고 지나간 도형의 개수만큼 점수를 주기로 했다. 점수 계산을 간단히 하려고 원, 삼각형, 직사각형만 쓴다.
한 게임에서 두 사람은 다트를 세 번씩 던진다. 다트 하나의 점수는 그 다트가 꽂힌 점을 내부에 포함하는 도형의 개수이고, 한 사람의 점수는 자기 다트 세 개의 점수 합이다. 도형과 던진 위치가 주어질 때 각 게임의 승자를 구하라.
입력
첫 줄에 도형의 개수 가 주어진다. 이어지는 개의 줄에 도형이 다음 세 형식 중 하나로 주어진다.
C x y r: 중심이 이고 반지름이 인 원R x1 y1 x2 y2: 마주 보는 두 꼭짓점이 과 인 직사각형이며, 이고 이다T x1 y1 x2 y2 x3 y3: 세 꼭짓점이 , , 인 삼각형
다음 줄에 게임 수 이 주어진다. 게임 하나는 여섯 줄로 이루어지고, 각 줄에는 다트가 꽂힌 점의 좌표와 좌표가 주어진다. 앞의 세 줄이 밥이 던진 위치, 뒤의 세 줄이 한나가 던진 위치다.
- 모든 직사각형의 변은 축, 축과 평행하다.
- 삼각형의 세 꼭짓점은 한 직선 위에 있지 않다.
- 모든 좌표는 소수점 아래 여섯 자리까지 주어지는 실수다.
- 모든 도형은 과 을 마주 보는 두 꼭짓점으로 하는 직사각형 안에 들어간다.
- 다트가 꽂힌 점은 어떤 도형의 경계에서도 이상 떨어져 있다.
출력
게임마다 한 줄씩 승자를 출력한다. 밥의 점수가 더 높으면 Bob, 한나의 점수가 더 높으면 Hannah, 두 점수가 같으면 Tied를 출력한다.