結果
問題 | 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 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 367 ms
255,240 KB |
testcase_01 | AC | 357 ms
255,548 KB |
testcase_02 | AC | 349 ms
255,920 KB |
testcase_03 | AC | 564 ms
264,840 KB |
testcase_04 | AC | 592 ms
264,888 KB |
testcase_05 | AC | 612 ms
264,840 KB |
testcase_06 | AC | 627 ms
264,908 KB |
testcase_07 | AC | 578 ms
264,824 KB |
ソースコード
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')