http://acm.hust.edu.cn/vjudge/problem/33059
题意:给N组数据,每组数据一个n,m,k。然后是n行概率。n表示每只麻雀的死前能生0-n-1只麻雀,m表示求m天后全部死亡的概率。开始时有k只麻雀。
解析:f(i)表示一只麻雀i天后全部死亡的概率
f(i) = p0 + p1 * f(i - 1) + p2 * f(i - 1)^2 + p3 * f(i - 1) ^3 + ……+pn-1*f(i - 1) ^n - 1
开始有k只麻雀,符合乘法原理最后的概率为f(m) ^k
可以从小到大递推f(i)
#include <iostream>
#include <cstdio>
#include <cstring>
#include <sstream>
#include <string>
#include <algorithm>
#include <list>
#include <map>
#include <vector>
#include <queue>
#include <stack>
#include <cmath>
#include <cstdlib>
using namespace std;
double p[1005];
double f[1005];
int n,k,m;
void getExcel()
{
f[0] = 0;
for(int i = 1; i <= m; i ++)
{