結果
問題 | No.2929 Miracle Branch |
ユーザー |
|
提出日時 | 2024-10-12 16:31:26 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 196 ms / 2,000 ms |
コード長 | 1,491 bytes |
コンパイル時間 | 125 ms |
コンパイル使用メモリ | 82,368 KB |
実行使用メモリ | 113,792 KB |
最終ジャッジ日時 | 2024-10-12 16:31:38 |
合計ジャッジ時間 | 9,922 ms |
ジャッジサーバーID (参考情報) |
judge / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 43 |
ソースコード
def factorization(n):arr = []temp = nfor i in range(2, int(-(-n**0.5//1))+1):if i>2*10**5:breakif temp%i==0:cnt=0while temp%i==0:cnt+=1temp //= iarr.append([i, cnt])if temp!=1:arr.append([temp, 1])if arr==[]:arr.append([n, 1])return arrimport sysinput = sys.stdin.readlineX = int(input())F = factorization(X)cnt = 0for p, e in F:cnt += (p+1)*eif cnt>2*10**5:print(-1)exit()uv = []c = []i = 0j = -1for p, e in F:if p==2:for _ in range(e//2):if j>=0:uv.append([i+1, j+1])i = jc.append("b")j = i+1for _ in range(4):uv.append([i+1, j+1])c.append("g")j+=1if e%2==1:if j>=0:uv.append([i+1, j+1])i = jc.append("b")j = i+1for _ in range(2):uv.append([i+1, j+1])c.append("g")j+=1else:for _ in range(e):if j>=0:uv.append([i+1, j+1])i = jc.append("b")j = i+1for _ in range(p):uv.append([i+1, j+1])c.append("g")j+=1n = jprint(n)for u, v in uv:print(u, v)print(*c)