아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

삼각형 판정과 분류

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

요약
세 변의 길이를 담은 줄을 차례로 읽으며 삼각형이 되는 줄을 예각, 직각, 둔각으로 분류해 세고, 삼각형이 되지 않는 첫 줄에서 멈춘다.
난이도

쉬움10점 중 2점

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

문제

세 변의 길이가 정해지면 삼각형의 모양이 결정된다. 각 입력 줄에는 세 개의 양의 정수가 주어진다. 각 줄을 입력 순서대로 다음과 같이 처리한다.

  • 주어진 세 값을 세 변의 길이로 하는 삼각형이 존재하는지 판정한다. 세 변 중 가장 긴 변을 cc, 나머지 두 변을 aa, bb라 하면, 삼각형이 존재할 조건은 a+b>ca + b > c 이다.
  • 삼각형이 존재하면 예각삼각형, 직각삼각형, 둔각삼각형 중 하나로 분류한 뒤 다음 줄로 넘어간다. 분류는 a2+b2a^2 + b^2 과 c2c^2 을 비교하여 정한다. a2+b2>c2a^2 + b^2 > c^2 이면 예각삼각형, a2+b2=c2a^2 + b^2 = c^2 이면 직각삼각형, a2+b2<c2a^2 + b^2 < c^2 이면 둔각삼각형이다.
  • 삼각형이 존재하지 않는 줄을 처음 만나면, 그때까지 세어 둔 삼각형의 개수, 직각삼각형의 개수, 예각삼각형의 개수, 둔각삼각형의 개수를 공백으로 구분하여 출력하고, 남은 입력은 무시한 채 종료한다.

입력에는 삼각형이 존재하지 않는 줄이 반드시 하나 이상 있다고 가정해도 좋다.

입력

여러 줄이 주어지며, 각 줄에는 세 개의 양의 정수가 공백으로 구분되어 있다. 각 정수는 100100 이하이다. 줄의 개수는 알 수 없으며, 삼각형이 존재하지 않는 첫 줄에서 읽기를 멈춘다.

출력

한 줄에 네 개의 정수를 공백으로 구분하여 출력한다. 삼각형이 존재하지 않는 첫 줄을 만나기 전까지 세어 둔 (1) 삼각형의 총 개수, (2) 직각삼각형의 개수, (3) 예각삼각형의 개수, (4) 둔각삼각형의 개수 순서이다. 마지막 줄 끝에는 줄바꿈 문자를 넣는다.

예제2

  1. 예제 1

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

    입력
    3 4 5
    2 1 2
    6 3 4
    1 2 3
    1 1 1
    
    예상 출력
    3 1 1 1