@pz,@q = gets.split.map{|e|e.to_f/100} @memo={} def calc(pi,deep) return 1 if deep>100 # (´;ω;`) pi = pi<0 ? 0.0 : 10 #used r += (pi) * (1.0/2.0 + 1.0/2.0 * calc(pi-@q,deep+1)) if pi >0 return @memo[pi] = r end r = 1.0/3.0 + 1.0/ 3.0 * calc(@pz,0) p r.to_f