다항식 인수분해
시간 제한1초메모리 제한512 MB
차수가 20 이하이고 정수 계수를 가진 다항식이 실수 위에서 기약인지 판정한다.
문제
한 변수에 대한 다항식은 형식적인 합 으로 나타낼 수 있으며, 여기서 는 형식 변수이고 는 계수이다. 을 만족하는 가장 큰 를 다항식의 차수라고 한다. 모든 에 대해 이면 차수는 로 정의한다. 차수가 이거나 인 다항식을 자명한(trivial) 다항식이라 하고, 그 외의 다항식을 자명하지 않은(non-trivial) 다항식이라 한다.
실수 계수 다항식을 두 개 이상의 자명하지 않은 실수 계수 다항식의 곱으로 나타낼 수 없으면 그 다항식을 기약(irreducible) 이라 하고, 그렇지 않으면 가약(reducible) 이라고 한다. 예를 들어 이므로 은 가약이지만, 은 기약이다. 모든 다항식은 하나 이상의 기약 다항식의 곱으로 나타낼 수 있다는 사실이 잘 알려져 있다.
정수 계수 다항식이 주어질 때, 이 다항식이 실수 범위에서 기약인지 판정하여라.
입력
첫째 줄에 다항식의 차수 이 주어진다 ().
둘째 줄에 개의 정수 이 주어진다. 이는 다항식의 계수이다 (, ).
출력
주어진 다항식이 실수 범위에서 기약이면 YES 를, 그렇지 않으면 NO 를 출력한다.