这道题其实根本不需要考虑鹿的存在,因为鹿不会对人或者老虎造成任何影响,它只会自己减少
就当做只有老虎在,然后计算老虎全部自相残杀的概率是多少
老虎个数为奇数时概率为0.0
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
using namespace std;
typedef long long ll;
const int N=1000+10;
double d[N];
bool vis[N];
double dfs(int n)
{
if(n&1) return 0.0;
if(n==0) return 1.0;
if(vis[n]) return d[n];
vis[n]=true;
d[n]=1.0*(n-1)/(n+1)*dfs(n-2);
return d[n];
}
int main()
{
int T,n,m,kase=0;
memset(vis,0,sizeof(vis));
scanf("%d",&T);
while(T--)
{
scanf("%d%d",&n,&m);
printf("Case %d: %.6f\n",++kase,dfs(n));
}
return 0;
}