zoukankan      html  css  js  c++  java
  • hdu 2048 神上帝以及老天爷

    题目


    解题思路:
         典型的错排题目
         首先求出所有的拿错的情况,然后求出错排的所有情况,以前者除以后者就是百分比
         现在求对应的所有都拿错的情况。容易知道,f(1)=0,f(2)=1
         然后,对于N个人,有n-1个人拿错票和n-2个人拿错票的情况
        ① 当有n-1个拿错票时,在加入一个人,只要第n个人和前面任意的n-1个人其中一个调换票就可以了,所以有f(n-1)*(n-1)。

    ②当有n-2个拿错票时,只能是没拿错的那个人与第n个交换票,而那个人可能是前面n-1个的任意一个,所以又有f(n-2)*(n-1)

    所以错排结果为(n-1)*(f(n-1)+f(n-2))。


    这道题,我自己肯定不会做,严重觉得自己高中数学白学了。

    #include <stdio.h>
    int main()
    {
        int a,i,c;
        double sum;
        double b[25];
            scanf("%d",&a);
    b[1]=0;
    b[2]=1;
    
    
    for(i=3;i<=20;i++)
    {
        b[i]=(i-1)*(b[i-1]+b[i-2]);
    }
        while(a--)
        {
        scanf("%d",&c);
        sum=1;
        for(i=1;i<=c;i++)
            sum*=i;
        printf("%.2lf%%
    ",b[c]*100.0/sum);
        }
        return 0;
    }


  • 相关阅读:
    [uoj276][清华集训2016]汽水——分数规划+点分治
    [bzoj3143][Hnoi2013]游走——动态规划+高斯消元
    TypeScript笔记八
    TypeScript笔记七
    TypeScript笔记六
    TypeScript笔记五
    TypeScript笔记四
    TypeScript笔记三
    TypeScript笔记二
    TypeScript笔记一
  • 原文地址:https://www.cnblogs.com/qie-wei/p/10160284.html
Copyright © 2011-2022 走看看