시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
---|---|---|---|---|---|
1 초 | 128 MB | 136 | 74 | 70 | 66.038% |
은행수란 정수 m과 n의 쌍 (m,n)이다. 예를 들어, (1,1), (-2,1), (-3,-1)은 은행수이다.
은행수의 곱셈 (m,n) · (x,y) = (mx - ny, my + nx) 이다. 예를 들어, (1,1)·(-2,1) = (-3,-1)이다.
이때, (m,n) · (x,y) = (p,q)를 만족하는 은행수 (x,y)가 존재한다면, (m,n)은 은행수 (p,q)의 약수라고 한다.
모든 (1,0), (0,1), (-1,0), (0,-1), (m,n), (-n,m), (-m,-n), (n,-m)은 임의의 은행수 (m,n)의 약수이다. 만약, m2 + n2 > 1이라면, 앞의 8개 수는 모두 다를 것이다. 즉, m2 + n2 > 1을 만족하는 은행수는 적어도 8개의 약수가 있다.
만약, m2 + n2 > 1을 만족하는 은행수 (m,n)의 약수가 8개라면, 이 수를 소수라고 한다.
은행수가 주어졌을 때, 소수인지 아닌지 알아내는 프로그램을 작성하시오.
첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 은행수 (m,n)의 m과 n이 공백으로 구분되어 있다. (1 < m2 + n2 < 20000)
각 테스트 케이스에 대해서, 입력으로 주어진 은행수가 소수라면 P를, 아니라면 C를 출력한다.
8 10 0 0 2 -3 0 4 2 0 -13 -4 1 -2 -1 3 -1
C C P C C P P C
m2 + n2 > 0인 경우에 m2 + n2이 mp + nq와 mq - np의 공약수라면, (m,n)은 (p,q)의 약수이고, 그 역도 성립한다.
만약, (m,n) · (x,y) = (p,q)라면, (m2 + n2)(x2 + y2) = p2 + q2이다.
ICPC > Regionals > Asia Pacific > Japan > Asia Regional Contest 2012 in Tokyo A번