HDU 2048 神、上帝以及老天爷(递归,错排,dp,概率)

中文题,错排,求概率,不解释,核心思路同 HDU 1465 错排简单思路可看:http://www.cnblogs.com/laiba2004/p/3235934.html

//错排,但是我之前叫了几次都是错的,所以,我去看了相关的知识,嘿嘿
#include<stdio.h>
__int64 f(__int64 n)
{
    if(n==1)return 0;
    if(n==2)return 1;
    if(n==3) return 2;
    return (n-1)*(f(n-1)+f(n-2));
}

int main()
{
    __int64 t,n,sum,nn;
    scanf("%I64d",&t);
    while(t--)
    {
        sum=1;
        scanf("%I64d",&n);
        nn=n;
        while(nn)
        {
            sum*=nn;
            nn--;
        }
        printf("%.2lf%%\n",f(n)*100.0/(sum*1.0));
    }
    return 0;
}
View Code

 

posted @ 2013-08-07 16:09  laiba2004  Views(170)  Comments(0)    收藏  举报