結果
| 問題 |
No.2125 Inverse Sum
|
| コンテスト | |
| ユーザー |
pitP
|
| 提出日時 | 2022-11-18 22:25:33 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 822 bytes |
| コンパイル時間 | 144 ms |
| コンパイル使用メモリ | 82,464 KB |
| 実行使用メモリ | 60,352 KB |
| 最終ジャッジ日時 | 2024-09-20 02:50:43 |
| 合計ジャッジ時間 | 2,431 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 21 WA * 9 |
ソースコード
from math import gcd,ceil,sqrt
p,q = map(int,input().split())
g = gcd(p,q)
p //= g
q //= g
if p > 2 * q:
print(0)
exit()
elif p == 2 * q:
print(1)
print(1,1)
exit()
elif (p == q + 1) and (q < p < 2 * q):
ans = []
ans.append((1,q))
if q != 1:
ans.append((q,1))
print(len(ans))
for (n,m) in ans:
print(n,m)
exit()
elif p == q:
print(1)
print(2,2)
exit()
elif p < q:
nm = []
for n in range(1,ceil(sqrt(q*g))+1):
nume = q*g*n
deno = p*g*n-q*g
if (deno > 0) and (nume % deno == 0):
m = nume//deno
nm.append((n,m))
ans = []
for (n,m) in nm:
ans.append((n,m))
if (n != m):ans.append((m,n))
ans.sort()
print(len(ans))
for (n,m) in ans:
print(n,m)
exit()
pitP