結果

問題 No.172 UFOを捕まえろ
コンテスト
ユーザー 小指が強い人
提出日時 2015-11-10 22:05:52
言語 Ruby
(4.0.2)
コンパイル:
ruby -w -c _filename_
実行:
ruby _filename_
結果
AC  
実行時間 82 ms / 5,000 ms
コード長 368 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 76 ms
コンパイル使用メモリ 8,960 KB
実行使用メモリ 14,848 KB
最終ジャッジ日時 2026-05-04 19:05:07
合計ジャッジ時間 2,845 ms
ジャッジサーバーID
(参考情報)
judge1_1 / judge2_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 21
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #
raw source code

str = gets.split
x = str[0].to_i
y = str[1].to_i
r = str[2].to_i
s = (x > 0 && y > 0) || (x < 0 && y < 0) ? -1 : 1
u = (y > 0) ? 1 : -1
dist = ->(xx, yy, a, b){ (a * xx - yy + b).abs / Math.sqrt(a ** 2 + 1) }
uu = u
if x != 0 || y != 0 
    while dist[x, y, s, uu] != 0.0 do
        uu += u
    end
end
while dist[x, y, s, uu] - r <= 0.0 do
    uu += u
end
puts uu.abs
0