問題
atcoder.jp
解法
- 数列の要素が隣り合うm-1か所について、数字の差がdになる確率を考える。
- 2個のサイコロを振って差がdになる確率は、
- どの箇所も確率は等しいので、上記で求めた確率をm-1倍する。
コード
int main() {
ll n,m,d;
cin >> n >> m >> d;
double ans = 0;
if(d == 0) ans = 1/(double)n;
else ans = 2*(n-d)/(double)(n*n);
ans*= (m-1);
printf("%.10lf\n",ans);
return 0;
}