結果

問題 No.2724 Coprime Game 1
ユーザー flippergo
提出日時 2025-01-20 10:01:21
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 758 ms / 2,000 ms
コード長 659 bytes
コンパイル時間 2,506 ms
コンパイル使用メモリ 81,736 KB
実行使用メモリ 115,968 KB
最終ジャッジ日時 2025-01-20 10:01:33
合計ジャッジ時間 7,986 ms
ジャッジサーバーID
(参考情報)
judge3 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 7
権限があれば一括ダウンロードができます

ソースコード

diff #

from bisect import bisect_right
INFTY = 3*10**6
P = list(range(INFTY+1))
for i in range(2,INFTY+1):
    if i*i>INFTY:
        break
    for j in range(i*i,INFTY+1,i):
        P[j] = P[i]
Q = []
for i in range(2,INFTY+1):
    if P[i]==i:
        Q.append(i)
T = int(input())
for _ in range(T):
    N = int(input())
    C = {}
    cur = N
    while cur>1:
        C[P[cur]] = C.get(P[cur],0)+1
        cur //= P[cur]
    C = list(C.items())
    if len(C)==1 and C[0][1]==1:
        cnt = 0
    else:
        ind1 = bisect_right(Q,N)
        ind = bisect_right(Q,N//2)
        cnt = N-2-(ind1-ind)
    if cnt%2==0:
        print("P")
    else:
        print("K")
0