結果

問題 No.355 数当てゲーム(2)
コンテスト
ユーザー honake
提出日時 2016-10-19 20:29:16
言語 Ruby
(4.0.2)
コンパイル:
ruby -w -c _filename_
実行:
ruby _filename_
結果
RE  
実行時間 -
コード長 787 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 1,026 ms
コンパイル使用メモリ 8,960 KB
実行使用メモリ 41,248 KB
平均クエリ数 16.83
最終ジャッジ日時 2026-03-30 23:26:27
合計ジャッジ時間 14,226 ms
ジャッジサーバーID
(参考情報)
judge3_0 / judge2_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 19 WA * 31 RE * 2
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #
raw source code

def try(arr)
  $stdout.puts arr.join(' ')
  $stdout.flush
  x, y = gets.split.map(&:to_i)
  [x, y]
end

fst = 0

[2, 4, 6, 8].each do |i|
  fst += try([0, 1, i, i + 1]).reduce(:+)
end

if fst == 4
  nums = []
elsif fst == 7
  nums = []
  fb1 = try([0, 2, 3, 4]).reduce(:+)
  fb2 = try([1, 2, 3, 4]).reduce(:+)
  if fb2 > fb1
    nums.push(1)
  elsif fb2 < fb1
    nums.push(0)
  end
elsif fst == 10
  nums = [0, 1]
end

sets = [[2, 3], [4, 5], [6, 7], [8, 9]]

4.times do |i|
  arr = [sets[0][0], sets[1][0], sets[2][0], sets[3][0]]
  fb1 = try(arr).reduce(:+)
  arr[i] = sets[i][1]
  fb2 = try(arr).reduce(:+)
  if fb2 > fb1
    nums.push(sets[i][1])
  elsif fb2 < fb1
    nums.push(sets[i][0])
  end
end

nums.permutation(4).each do |arr|
  res = try(arr)
  break if res == [4, 0]
end
0