結果
問題 |
No.2929 Miracle Branch
|
ユーザー |
|
提出日時 | 2025-01-05 11:43:36 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,363 bytes |
コンパイル時間 | 4,615 ms |
コンパイル使用メモリ | 81,784 KB |
実行使用メモリ | 92,584 KB |
最終ジャッジ日時 | 2025-01-05 11:44:26 |
合計ジャッジ時間 | 18,790 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 26 WA * 17 |
ソースコード
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 = {} x = X 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] if X+1<N: print(Y+1) for i in range(1,Y+1): print(1,1+i) print("b"+"g"*Y) elif N>2*10**5: print(-1) else: 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)