結果

問題 No.355 数当てゲーム(2)
ユーザー mai
提出日時 2017-04-30 12:56:10
言語 Ruby
(3.4.1)
結果
AC  
実行時間 118 ms / 2,000 ms
コード長 580 bytes
コンパイル時間 103 ms
コンパイル使用メモリ 7,424 KB
実行使用メモリ 29,256 KB
平均クエリ数 5.50
最終ジャッジ日時 2024-07-17 00:55:17
合計ジャッジ時間 8,388 ms
ジャッジサーバーID
(参考情報)
judge1 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 52
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #

answer = []
(0..9).to_a.combination(4){|_v|
    _v.permutation{|v|
        answer << v
    }
}

def simulate(answer,query)
    x=y=0
    4.times{|i|
        if answer[i] == query[i]
            x+=1
        elsif answer.include?(query[i])
            y+=1
        end
    }
    return [x,y]
end

def send(v)
    puts v*" " ; STDOUT.flush
    return gets.split.map(&:to_i)
end

while answer.size > 1
    v = answer.sample
    res = send(v)
    exit 0 if res == [4,0]
    answer.delete_if{|e| simulate(e,v) != res}
end

abort if answer.size == 0

puts answer[0]*" " ; STDOUT.flush
0