結果
問題 |
No.2125 Inverse Sum
|
ユーザー |
![]() |
提出日時 | 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()