結果
| 問題 |
No.2929 Miracle Branch
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2025-01-05 11:33:56 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,313 bytes |
| コンパイル時間 | 4,250 ms |
| コンパイル使用メモリ | 82,128 KB |
| 実行使用メモリ | 92,588 KB |
| 最終ジャッジ日時 | 2025-01-05 11:37:14 |
| 合計ジャッジ時間 | 17,138 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| 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())
Y = X
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]
if Y+1<N:
print(Y+1)
for i in range(1,Y+1):
print(1,1+i)
print("b"+"g"*Y)
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)