
分析:
一个公式。
d>0的话,(n-d)2(m-1)*pow(n,m-2)/pow(n,m);
d<0的话,(n-d)2(m-1)*pow(n,m-2)/pow(n,m);
拿n=4,m=3,d=1,举例:
n-d就是可能出现的组合,比如说(0,2)(1,3)(2,4),乘以2,就是相反的也可以。
pow(n,m-2)就是剩余位置可以填的数。
#include <bits/stdc++.h>
using namespace std;
int main()
{
double n,m,d;
double ans;
cin>>n>>m>>d;
if(d!=0)
ans=1.0*2*(n-d)*(m-1)/(n*n);
else
ans=1.0*(n-d)*(m-1)/(n*n);
printf("%.10f",ans);
return 0;
}
最后
以上就是体贴八宝粥最近收集整理的关于AtCoder - 4189(思维)的全部内容,更多相关AtCoder内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复