題解 P2719 【搞笑世界盃】

其實懂了以後很簡單,可是剛開始真的很難想.。 d[a][b]表示剩a張A類票和b張B類票時,最後兩張票相同的機率ios

那麼此時的排隊的第一我的只有兩種選擇 拿A類票或者B類票ide

拋硬幣獲得的可能性固然是二分之一,因此說d[i-1][j](當前第一人拿了A類票)和d[i][j-1](當前第一人拿了B類票)各佔二分之一spa

這樣的話代碼就很簡單了。。。。code

#include<stdio.h>
#include<iostream>
using namespace std;
double d[1500][1500];
int main()
{
    int n,i,j;
    scanf("%d",&n);
    n/=2;
    for (i=2;i<=n;i++)
    {
        d[i][0]=d[0][i]=1;
    }
    for (i=1;i<=n;i++)
    {
        for (j=1;j<=n;j++)
        {
            d[i][j]=(d[i-1][j]+d[i][j-1])*0.5;
        }
    }
    printf ("%.4lf",d[n][n]);
    return 0;
}
View Code
相關文章
相關標籤/搜索