zoukankan      html  css  js  c++  java
  • hdu3625 ( 第一类斯特灵数 )

    在钥匙与房间的所有情况中,我们知道当手中没有未开启的房间门的钥匙时我们需要破坏一扇门。在已开启的门中,钥匙作为指示的方向,是房间号码形成了一个环。而针对每种情况,形成的环数就是所要破坏的门的数量。所以要找寻k以内的环数的情况,并且因为1号门不能破坏,所以要减去,以1号门为单独的一个环且符合情况的数量。

     1 #include<stdio.h>
     2 #include<string.h>
     3 typedef long long i64;
     4 int main()
     5 {
     6     i64 s[25][25],f[25];
     7     int T,n,k,i,j;
     8     memset(s,0,sizeof(s));
     9     s[1][1]=1;
    10     for(i=1;i<=20;i++)
    11     for(j=1;j<=i+1;j++)
    12     s[i+1][j]=s[i][j-1]+i*s[i][j];
    13     f[1]=1;f[0]=1;
    14     for(i=2;i<=20;i++)
    15     f[i]=f[i-1]*i;
    16     scanf("%d",&T);
    17     {
    18         while(T--)
    19         {
    20             scanf("%d%d",&n,&k);
    21             i64 p1=0;
    22             for(i=1;i<=k;i++)
    23             p1+=(s[n][i]-s[n-1][i-1]);
    24             printf("%.4lf
    ",(double)p1/f[n]);
    25         }
    26     }
    27     return 0;
    28 }
  • 相关阅读:
    《天才在左,疯子在右》
    MVC思想概述
    java文件读写
    HTTP协议简单笔记
    自学Python_Day01
    Linux基础介绍篇
    PHP学习 Day_01
    Linux中部分命令英语全拼
    Linux学习基础命令(三)
    Linux学习基础命令(二)
  • 原文地址:https://www.cnblogs.com/Acgsws/p/3200992.html
Copyright © 2011-2022 走看看