結果
| 問題 |
No.2724 Coprime Game 1
|
| コンテスト | |
| ユーザー |
ゼット
|
| 提出日時 | 2024-04-12 22:35:20 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 627 ms / 2,000 ms |
| コード長 | 886 bytes |
| コンパイル時間 | 149 ms |
| コンパイル使用メモリ | 82,428 KB |
| 実行使用メモリ | 264,908 KB |
| 最終ジャッジ日時 | 2024-10-02 23:32:11 |
| 合計ジャッジ時間 | 5,265 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 7 |
ソースコード
pare=[-1]*(6*10**6+1)
size=[1]*(6*10**6+1)
count=[0]*(6*10**6+1)
def root(x):
while pare[x]!=-1:
x=pare[x]
return x
def unite(u,v):
rootu=root(u)
rootv=root(v)
if rootu!=rootv:
if size[rootu]>=size[rootv]:
pare[rootv]=rootu
size[rootu]+=size[rootv]
count[rootu]+=count[rootv]
else:
pare[rootu]=rootv
size[rootv]+=size[rootu]
count[rootv]+=count[rootu]
def same(s,t):
return root(s)==root(t)
result=[0]*(3*10**6+1)
used=[0]*(3*10**6+1)
for x in range(2,3*10**6):
if used[x]==1:
continue
for y in range(2,3*10**6):
if x*y>3*10**6:
break
used[x*y]=1
z=0
for x in range(2,3*10**6+1):
if used[x]==0:
result[x]=1
z+=1
continue
if used[x//2]==0 and x%2==0:
z-=1
result[x]=(x-1)-z
Q=int(input())
for _ in range(Q):
N=int(input())
if result[N]%2==1:
print('P')
else:
print('K')
ゼット