結果

問題 No.93 ペガサス
ユーザー mikoto_kannagi
提出日時 2017-01-01 01:46:45
言語 Ruby
(3.4.1)
結果
TLE  
実行時間 -
コード長 678 bytes
コンパイル時間 53 ms
コンパイル使用メモリ 7,680 KB
実行使用メモリ 387,768 KB
最終ジャッジ日時 2024-12-16 04:44:40
合計ジャッジ時間 85,976 ms
ジャッジサーバーID
(参考情報)
judge3 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 1 WA * 1 TLE * 14
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #

n = Integer(STDIN.gets.chomp)
line_pattern = (0...n).map{|x| 1 << x}
pattern = {}
(0...n).map{|x| 1 << x}.each do |x|
    line_pattern.each do |y|
        if x & y == 0
            pattern[[x, y, x | y]] = 1
        end
    end
end
next_pattern = {}
pattern.each_key do |k|
    next_pattern[k[0]] = line_pattern.select{|x| k[0] & (x << 1 | x >> 1) == 0}
end
(3..n).each do |i|
    new_pattern = {}
    new_pattern.default = 0
    pattern.each do |k, v|
        next_pattern[k[0]].select{|x| k[2] & x== 0}.each do |x|
            y = [k[1], x, k[2] | x]
            new_pattern[y] = new_pattern[y] + v
        end
    end
    pattern = new_pattern
end
puts pattern.each_value.sum
0