結果

問題 No.61 リベリオン
コンテスト
ユーザー letrangerjp
提出日時 2017-06-18 09:41:00
言語 Ruby
(4.0.2)
コンパイル:
ruby -w -c _filename_
実行:
ruby _filename_
結果
AC  
実行時間 1,002 ms / 5,000 ms
コード長 391 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 124 ms
コンパイル使用メモリ 8,960 KB
実行使用メモリ 14,720 KB
最終ジャッジ日時 2026-05-01 03:14:57
合計ジャッジ時間 3,466 ms
ジャッジサーバーID
(参考情報)
judge2_1 / judge3_1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 4
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #
raw source code

Q = gets.to_i
Q.times{
  w, h, d, mx, my, hx, hy, vx, vy = gets.split.take(9).map(&:to_i)
  vgcd = vx.gcd(vy)
  d = [h * w * 4, d * vgcd].min

  if (1..d).any?{|i|
    f = ->x, y{
      x %= 2 * w
      y %= 2 * h
      ((x == mx) || (2 * w - x == mx)) && ((y == my) || (2 * h - y == my))
    }
    f[hx + vx / vgcd * i, hy + vy / vgcd * i]
  }
    puts "Hit"
  else
    puts "Miss"
  end
}
0