結果
| 問題 |
No.1429 Simple Dowsing
|
| コンテスト | |
| ユーザー |
material
|
| 提出日時 | 2021-03-14 16:28:59 |
| 言語 | Ruby (3.4.1) |
| 結果 |
AC
|
| 実行時間 | 115 ms / 2,000 ms |
| コード長 | 658 bytes |
| コンパイル時間 | 56 ms |
| コンパイル使用メモリ | 7,552 KB |
| 実行使用メモリ | 28,888 KB |
| 平均クエリ数 | 3.00 |
| 最終ジャッジ日時 | 2024-07-17 10:56:07 |
| 合計ジャッジ時間 | 2,843 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 15 |
コンパイルメッセージ
Syntax OK
ソースコード
def candidate(p, q, d)
ts = []
(0..100).each do |y|
(0..100).each do |x|
if ((p - x) ** 2 + (q - y) ** 2) == d then
ts.push([x, y])
end
end
end
return ts
end
def intersection(s, t)
u = []
s.each do |x|
u.push(x) if t.include?(x)
end
return u
end
def get_candidate(p, q)
puts "? #{p} #{q}"
STDOUT.flush
d = gets.chomp.to_i
return candidate(p, q, d)
end
def main(argv)
p = 0
q = 0
ts1 = get_candidate(p, q)
p = 0
q = 100
ts2 = get_candidate(p, q)
ts = intersection(ts1, ts2)
p = ts[0][0]
q = ts[0][1]
puts "! #{p} #{q}"
STDOUT.flush
end
main(ARGV) if self.to_s == 'main'
material