結果

問題 No.108 トリプルカードコンプ
ユーザー hytkxd
提出日時 2023-09-01 16:44:53
言語 Ruby
(3.4.1)
結果
TLE  
実行時間 -
コード長 744 bytes
コンパイル時間 222 ms
コンパイル使用メモリ 8,192 KB
実行使用メモリ 53,400 KB
最終ジャッジ日時 2025-01-03 06:41:45
合計ジャッジ時間 51,764 ms
ジャッジサーバーID
(参考情報)
judge2 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 10 WA * 3 TLE * 7
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

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

#!/usr/local/bin/ruby
class TripleCardComp
def initialize(*arg)
@n,@a = arg
@n = @n.to_r
@dp = Array.new(@n+1){Array.new(@n+1){Array.new(@n+1)}}
@dp[0][0][0] = 0
end
private
def dynamic(x,y,z)
if x < 0 || y < 0 || z<0
0
else
unless @dp[x][y][z]
@dp[x][y][z] = (dynamic(x-1,y+1,z)*x + dynamic(x,y-1,z+1)*y + dynamic(x,y,z-1)*z + @n)/(x+y+z).to_r
end
@dp[x][y][z]
end
end
public
def ans
g = (0...@n).group_by{|i| @a[i]}
x = g[0] || []
y = g[1] || []
z = g[2] || []
dynamic(x.size,y.size,z.size)
end
end
### END: class TripleCardComp
iod = STDIN
n, = iod.gets.split.map &:to_i
a = iod.gets.split.map &:to_i
puts TripleCardComp.new(n,a).ans
exit 0
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0