結果
問題 |
No.849 yuki国の分割統治
|
ユーザー |
|
提出日時 | 2019-07-05 22:30:07 |
言語 | Ruby (3.4.1) |
結果 |
RE
|
実行時間 | - |
コード長 | 554 bytes |
コンパイル時間 | 460 ms |
コンパイル使用メモリ | 7,296 KB |
実行使用メモリ | 22,272 KB |
最終ジャッジ日時 | 2024-10-06 22:27:54 |
合計ジャッジ時間 | 7,755 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 25 RE * 1 |
コンパイルメッセージ
Syntax OK
ソースコード
def extgcd(a, b) if b == 0 {x: 1, y: 0, gcd: a} else prev = extgcd(b, a % b) { x: prev[:y], y: prev[:x] - (a / b) * prev[:y], gcd: prev[:gcd] } end end a, b, c, d = gets.split.map(&:to_i) gx = a.gcd(c); dy0 = (c*b-a*d).abs / gx hash = extgcd(a/gx, c/gx) dy1 = hash[:x]*b + hash[:y]*d result = {} N = gets.to_i N.times do x, y = gets.split.map(&:to_i) x2 = x % gx y2 = y - (x-x2)/gx*dy1 y2 %= dy0 if dy0 > 0 result[[x2, y2]] = true end puts result.size