結果
問題 |
No.2929 Miracle Branch
|
ユーザー |
|
提出日時 | 2025-01-05 11:16:52 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,087 bytes |
コンパイル時間 | 4,639 ms |
コンパイル使用メモリ | 81,776 KB |
実行使用メモリ | 92,844 KB |
最終ジャッジ日時 | 2025-01-05 11:19:24 |
合計ジャッジ時間 | 16,702 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 23 WA * 20 |
ソースコード
P = list(range(2*10**5+1)) for i in range(2,2*10**5+1): if i*i>2*10**5: break for j in range(i*i,2*10**5+1,i): P[j] = P[i] Q = [] for i in range(2,2*10**5+1): if P[i]==i: Q.append(i) X = int(input()) if X==1: print(2) print(1,2) print("b","g") else: C = {} for p in Q: if X==1:break if X%p==0: cnt = 0 while X%p==0: X //= p cnt += 1 C[p] = cnt if X>1: print(-1) else: m = len(C) N = 0 for p in C: N += (1+p)*C[p] print(N) C = [0]+list(C.items()) pre = 1 n = 1 col = [] for i in range(1,m+1): for j in range(C[i][1]): if n>1: print(pre,n) col.append("b") cnt = 1 while cnt<C[i][0]+1: print(n,n+cnt) col.append("g") cnt += 1 pre = n n += cnt print(*col)