結果
問題 |
No.2929 Miracle Branch
|
ユーザー |
![]() |
提出日時 | 2024-10-12 16:44:03 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 179 ms / 2,000 ms |
コード長 | 567 bytes |
コンパイル時間 | 174 ms |
コンパイル使用メモリ | 82,524 KB |
実行使用メモリ | 96,384 KB |
最終ジャッジ日時 | 2024-10-12 16:44:27 |
合計ジャッジ時間 | 9,523 ms |
ジャッジサーバーID (参考情報) |
judge / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 43 |
ソースコード
N=int(input()) if N==1: print(2) print(1,2) print('b','g') exit() if N==2: print(3) print(1,3) print(2,3) print('g','g','b') exit() A=[] for i in range(3,2*10**5+1): while N%i==0: A.append(i) N//=i if N!=1: A.append(N) if sum(A)+len(A)>2*10**5: print(-1) exit() l=sum(A)+len(A) ans=['g']*l for i in range(len(A)): ans[i]='b' B=[];now=len(A) for i in range(len(A)): if i!=0: B.append((i,i+1)) for j in range(A[i]): now+=1 B.append((i+1,now)) print(len(B)+1) for x,y in B: print(x,y) print(*ans)