結果

問題 No.334 門松ゲーム
ユーザー Tsuneo Yoshioka
提出日時 2016-01-15 23:12:53
言語 Ruby
(3.4.1)
結果
AC  
実行時間 119 ms / 2,000 ms
コード長 1,310 bytes
コンパイル時間 43 ms
コンパイル使用メモリ 7,424 KB
実行使用メモリ 12,544 KB
最終ジャッジ日時 2024-09-19 19:27:31
合計ジャッジ時間 2,128 ms
ジャッジサーバーID
(参考情報)
judge1 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 13
権限があれば一括ダウンロードができます
コンパイルメッセージ
Main.rb:57: warning: ambiguous first argument; put parentheses or a space even after `-' operator
Syntax OK

ソースコード

diff #
プレゼンテーションモードにする

# Here your code !
N=gets.to_i
@ks=gets.split.map(&:to_i)
# p @ks
@memo={}
def go(mask, first)
# puts "start: mask=#{mask}"
if @memo[mask] != nil
return @memo[mask]
end
result = false
(0...N).each{|a|
if(mask[a])
next
end
mask[a]=true
(a+1...N).each{|b|
if(mask[b])
next
end
mask[b]=true
(b+1...N).each{|c|
if(mask[c])
next
end
mask[c]=true
#puts "c: mask=#{mask}, a,b,c=#{a}, #{b}, #{c}"
if @ks[a]==@ks[b] || @ks[b]==@ks[c] || (@ks[b]!=([@ks[a],@ks[b],@ks[c]]).max && @ks[b]!=([@ks[a],@ks[b],@ks[c]]).min)
mask[c]=nil
next
end
ret = go(mask, false)
if ret == false
result = true
if first
puts [a,b,c].join(" ")
exit
end
end
mask[c]=nil
}
mask[b]=nil
}
mask[a]=nil
}
# puts "end: mask=#{mask}, result=#{result}"
@memo[mask]=result
return result
end
go(Array.new(N,nil), true)
puts -1
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0