結果
| 問題 |
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