結果
| 問題 | No.355 数当てゲーム(2) |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2016-10-19 20:18:50 |
| 言語 | Ruby (3.4.1) |
| 結果 |
RE
|
| 実行時間 | - |
| コード長 | 733 bytes |
| コンパイル時間 | 249 ms |
| コンパイル使用メモリ | 7,552 KB |
| 実行使用メモリ | 29,640 KB |
| 平均クエリ数 | 10.63 |
| 最終ジャッジ日時 | 2024-07-16 11:15:19 |
| 合計ジャッジ時間 | 14,851 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 10 RE * 42 |
コンパイルメッセージ
Syntax OK
ソースコード
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
sets = [[2, 3], [4, 5], [6, 7], [8, 9]]
elsif fst == 7
sets = [[0, 1], [2, 3], [4, 5], [6, 7]]
elsif fst == 10
sets = [[0, 0], [1, 1], [2, 3], [6, 7]]
end
nums = []
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])
elsif fb1 == fb2
raise "equal error"
end
end
nums.permutation(4).each do |arr|
res = try(arr)
break if res == [4,0]
end