結果
問題 |
No.186 中華風 (Easy)
|
ユーザー |
![]() |
提出日時 | 2022-03-02 14:54:34 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
WA
|
実行時間 | - |
コード長 | 739 bytes |
コンパイル時間 | 408 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 10,880 KB |
最終ジャッジ日時 | 2024-07-16 08:02:05 |
合計ジャッジ時間 | 2,272 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 21 WA * 2 |
ソースコード
def gcd(a, b): if b == 0: return a else: return gcd(b, a%b) def extgcd(a, b): #拡張ユークリッド互除法 #ax + by = gcd(a, b)となる(x, y)を求めます if b == 0: return [1, 0] q = a//b r = a%b s, t = extgcd(b, r) y = s - q*t return [t, y] def CRT(b, m): r = 0 M = 1 for i in range(len(b)): d = gcd(M, m[i]) p, q = extgcd(M, m[i]) if (b[i] - r)%d != 0: print(-1) exit(0) t = (b[i] - r)//d * p % (m[i]//d) r += M * t M *= m[i]//d return r%M x = [] y = [] for i in range(3): X, Y = map(int, input().split()) x.append(X) y.append(Y) print(CRT(x, y))