사과나무

면접 대비

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

요약
삼각형 세 꼭짓점 좌표로 면적을 구하고, 주어진 점들 중 삼각형 내부 또는 경계에 있는 사과나무 수를 세는 문제입니다.
난이도

보통10점 중 4점

유형
기하, 수학, 구현
정답자
아직 제출이 없습니다

문제

한 농부가 사과나무 N그루가 심어져 있는 땅의 일부를 삼각형 모양으로 구매했다. 땅의 경계가 삼각형이라서 어떤 사과나무가 이 농부의 것인지 구분하기 어렵다.

삼각형 땅의 세 꼭짓점 좌표와 사과나무들의 좌표가 주어질 때, 이 땅의 넓이와 땅 위에 있는 사과나무의 개수를 구하는 프로그램을 작성하시오.

어떤 사과나무가 삼각형의 경계선 위에 놓여 있다면, 그 나무도 이 농부의 사과나무로 센다.

세 꼭짓점 (xA, yA), (xB, yB), (xC, yC)로 이루어진 삼각형의 넓이는 다음 식으로 구할 수 있다.

∣xA(yB−yC)+xB(yC−yA)+xC(yA−yB)∣2\frac{|x_A(y_B-y_C)+x_B(y_C-y_A)+x_C(y_A-y_B)|}{2}

입력

첫 세 줄에는 삼각형의 세 꼭짓점 좌표가 한 줄에 하나씩 주어진다. 그다음 줄에는 사과나무의 개수 N이 주어진다 (1≤N≤1001 \le N \le 100). 이어지는 N개의 줄에는 각 사과나무의 좌표가 주어진다.

모든 좌표는 1000 이하의 양의 정수이며, 각 줄의 두 값은 공백으로 구분된다.

출력

첫째 줄에 삼각형 땅의 넓이를 소수점 첫째 자리까지 출력한다. 둘째 줄에 땅 위에 있는(경계선 위 포함) 사과나무의 개수를 출력한다.

예제3

  1. 예제 1

    입력
    1 1
    5 1
    3 3
    4
    3 1
    3 2
    3 3
    3 4
    
    예상 출력
    4.0
    3
    
  2. 예제 2

    입력
    3 2
    5 4
    1 6
    3
    2 4
    3 5
    4 3
    
    예상 출력
    6.0
    3
    
  3. 예제 3

    입력
    2 6
    5 1
    7 8
    5
    1 4
    3 5
    6 4
    6 5
    4 7
    
    예상 출력
    15.5
    2