삼각형 면적 (큰 입력)
시간 제한5초메모리 제한512 MB
N, M, A가 주어질 때 넓이가 A/2인 정규 삼각형 (0,0), (N,1), (w,h)를 출력하고, A가 N*M보다 크면 IMPOSSIBLE을 출력한다.
문제
탱고르는 열 살이고, 삼각형의 면적을 구하는 방법을 막 배웠다. 세 꼭짓점의 좌표가 모두 정수이면 면적이 항상 정수이거나 정수의 절반이라는 사실도 스스로 알아냈다.
오늘은 반대 방향으로 생각한다. 이미 있는 삼각형의 면적을 재는 대신, 정수 를 하나 정하고 면적이 정확히 인 삼각형을 그리려고 한다. 꼭짓점은 모눈종이의 격자점에만 놓을 수 있다.
모눈종이는 가로 개, 세로 개의 정사각형 칸으로 나뉘어 있고, 꼭짓점으로 쓸 수 있는 점은 칸의 모퉁이뿐이다. 종이에 좌표계를 놓으면 쓸 수 있는 점은 , 을 만족하는 정수 , 에 대한 이다.
, , 가 주어지면 면적이 정확히 인 삼각형을 이루는 격자점 세 개를 구하라. 종이 안에 그런 삼각형을 그릴 수 없으면 그렇다고 답하라.
입력
첫째 줄에 테스트 케이스의 개수 가 주어진다.
다음 개의 줄에 각각 세 정수 , , 가 주어진다.
제한
출력
각 테스트 케이스마다 한 줄을 출력한다.
면적이 같은 삼각형은 여러 개 있으므로, 답은 다음 한 가지 삼각형으로 고정한다. 는 1부터 시작하는 테스트 케이스 번호이다.
이면 면적이 인 삼각형을 종이 안에 그릴 수 없다. 이때는 다음을 출력한다.
Case #k: IMPOSSIBLE
그렇지 않으면 , 로 두자. 이 두 값은 , 을 만족하고, 세 꼭짓점 , , 가 이루는 삼각형의 면적은 정확히 이다. 이 순서대로 꼭짓점을 출력한다.
Case #k: 0 0 N 1 w h
즉 정수 여섯 개 , , , , , 를 공백 하나로 구분해 출력한다.