結果

問題 No.61 リベリオン
ユーザー letrangerjpletrangerjp
提出日時 2017-06-18 09:41:00
言語 Ruby
(3.3.0)
結果
AC  
実行時間 1,510 ms / 5,000 ms
コード長 391 bytes
コンパイル時間 114 ms
コンパイル使用メモリ 7,424 KB
実行使用メモリ 12,416 KB
最終ジャッジ日時 2024-04-21 17:21:27
合計ジャッジ時間 4,001 ms
ジャッジサーバーID
(参考情報)
judge4 / judge2
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 86 ms
12,032 KB
testcase_01 AC 88 ms
12,160 KB
testcase_02 AC 89 ms
12,288 KB
testcase_03 AC 1,510 ms
12,416 KB
testcase_04 AC 1,500 ms
12,288 KB
testcase_05 AC 87 ms
12,288 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