結果

問題 No.2929 Miracle Branch
ユーザー D M
提出日時 2025-02-07 14:35:26
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 711 bytes
コンパイル時間 340 ms
コンパイル使用メモリ 82,720 KB
実行使用メモリ 83,712 KB
最終ジャッジ日時 2025-02-07 14:35:38
合計ジャッジ時間 11,944 ms
ジャッジサーバーID
(参考情報)
judge2 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 22 WA * 21
権限があれば一括ダウンロードができます

ソースコード

diff #

x=int(input())
if x>10**10:
    print(-1)
    exit()
def make_divisors(n):
    lower_divisors , upper_divisors = [], []
    i = 1
    while i*i <= n:
        if n % i == 0:
            lower_divisors.append(i)
            if i != n // i:
                upper_divisors.append(n//i)
        i += 1
    return lower_divisors
Y=make_divisors(x)
a,b=Y[-1],x//Y[-1]
if min(a+b+2,x+1)>2*10**5:
    print(-1)
    exit()
if a+b+2<x+1:
    print(a+b+2)
    print(1,2)
    for i in range(3,3+a):
        print(1,i)
    for i in range(2+a+1,3+a+b):
        print(2,i)
    ans=["b"]*2+["g"]*(a+b)
    print(*ans)
else:
    print(x+1)
    for i in range(2,2+x):
        print(1,i)
    ans = ["b"]  + ["g"] *x
    print(*ans)
0