Consider two teams, Lakers and Celtics, playing a series ofNBA Finals until one of the teams wins n games. Assume that the probabilityof Lakers winning a game is the same for each game and equal to p andthe probability of Lakers losing a game is q = 1-p. Hence, there are noties.Please find the probability of Lakers winning the NBA Finals if theprobability of it winning a game is p.
1
1
动态规划,状态转移,将前面的每一个状态转移到下一个状态,dp的基本操作,坑点,全败和全胜需要特判
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include<algorithm>
#include<iostream>
#include<string.h>
using namespace std;
int main()
{
int n;
double dp[200][200];
cin >> n;
double p;
cin >> p;
dp[0][0] = 1.0;
for (int i = 1; i <= n; i++) {
for (int j = 0; j <= i; j++) {
if (j == 0)dp[i][j] = dp[i - 1][j] * (1 - p);
else if (j == i)dp[i][j] = dp[i - 1][j - 1] * p;
else dp[i][j] = dp[i - 1][j] * (1 - p) + dp[i - 1][j - 1] * p;
}
}
double ans = 0;
for (int i = (n + 1) / 2; i <= n; i++) {
ans += dp[n][i];
}
cout << ans << endl;
return 0;
}