結果

問題 No.61 リベリオン
ユーザー letrangerjpletrangerjp
提出日時 2017-06-18 09:41:00
言語 Ruby
(3.4.1)
結果
AC  
実行時間 1,392 ms / 5,000 ms
コード長 391 bytes
コンパイル時間 63 ms
コンパイル使用メモリ 7,552 KB
実行使用メモリ 12,288 KB
最終ジャッジ日時 2024-10-13 16:16:07
合計ジャッジ時間 3,681 ms
ジャッジサーバーID
(参考情報)
judge4 / judge5
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 79 ms
12,160 KB
testcase_01 AC 80 ms
12,160 KB
testcase_02 AC 84 ms
12,160 KB
testcase_03 AC 1,392 ms
12,288 KB
testcase_04 AC 1,388 ms
12,160 KB
testcase_05 AC 78 ms
12,032 KB
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #

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