結果
問題 |
No.186 中華風 (Easy)
|
ユーザー |
![]() |
提出日時 | 2015-04-20 15:58:28 |
言語 | Python2 (2.7.18) |
結果 |
WA
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 704 bytes |
コンパイル時間 | 589 ms |
コンパイル使用メモリ | 6,912 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-07-04 18:13:29 |
合計ジャッジ時間 | 1,707 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 22 WA * 1 |
ソースコード
n = 3 a = 0 b = 1 def extgcd(x,y): if y == 0: return (x,1,0) g,a,b = extgcd(y,x%y); return (g,b,a-x//y*b) def factor(x): r = [] i = 2 while i*i < x: while x%i == 0: r.append(i) x /= i i += 1 if x != 1: r.append(x) return r def f(x,p): r = 1 while x%p == 0: x /= p r *= p return r def fail(): print -1 exit(0) for ti in xrange(n): na,nb = map(int,raw_input().split()) g = extgcd(b,nb)[0] if a%g != na%g: fail() for p in factor(g): p1 = f(b,p) p2 = f(nb,p) if p1 < p2: b /= p1 a %= b else: nb /= p2 na %= nb x,y = extgcd(b,nb)[1:] a = x*b*na + y*nb*a b *= nb a %= b if a == 0: a = b print a