链接
题目描述
有n条绳子,n次操作,每次选出两条绳子,不能使得一条绳子的头连向它自己的尾部,问n次操作都成功的概率是多少
思路
考虑一条绳子的一端的成功,那就是所有可连端里选择成功的,那就是2 * (剩余条数) - 2/2 * (剩余条数) - 1 ,全部乘起来就好了
代码
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
long double ans = 1;
int n;
int main()
{
scanf("%d", &n);
for(int i = 1; i < n; i += 1)
ans = 1.0 * ans * (2.0 * (n - i)) / (2.0 * (n - i + 1) - 1);
printf("%.6Lf", ans);
return 0;
}