zoukankan      html  css  js  c++  java
  • [CODEVS1697]⑨要写信

    题目描述 Description

    琪露诺(冰之妖精)有操控冷气的能力。能瞬间冻结小东西,比普通的妖精更危险。一直在释放冷气的她周围总是非常寒冷。

    由于以下三点原因……

    • 琪露诺的符卡 冰符“Icicle Fall”-Easy的弹幕有够蠢的,只要站在她的正前方就没任何弹幕会碰到你;
    • ZUN在《红魔乡》中介绍她时已经说她有点笨笨的了;
    • 在ZUN放出《东方花映冢》的介绍图时,在图中把琪露诺放在了⑨的位置上,并以“⑨笨蛋”简单带过,从此“⑨”及“笨蛋”就成为她的别名了……

    所以琪露诺便得到了“笨蛋”的别称。

    某日,琪露诺又2了……

    她写了N封信要装到N个信封里面,却全都装错了……现在想知道有多少种装错的可能性。

    输入描述 Input Description

    信和信封的数量N。

    输出描述 Output Description

    装错的可能性的数量。

    样例输入 Sample Input

    输入样例1

    2

    输入样例2

    4

    样例输出 Sample Output

    输出样例1

    1

    输出样例2

    9

    数据范围及提示 Data Size & Hint

    1≤N≤100

    思路

      错排通项经典好题。

      

        考虑一个有n个元素的排列,若一个排列中所有的元素都不在自己原来的位置上,那么这样的排列就称为原排列的一个错排。

        f[1]=0;f[2]=1;

        f[n] =(n-1)(f[n-2) + f[n-1])

        f[n]:=n![1-1/1!+1/2!-1/3!……+(-1)^n*1/n!]

        f[n] = (n!/e+0.5),其中e是自然对数的底,[x]为x的整数部分。

    var n,i:longint;
        f:array[1..100000] of qword;
    begin
        readln(n);
        f[1]:=0;f[2]:=1;
        for i:=3 to n do
            f[i]:=(i-1)*(f[i-2]+f[i-1]);
        writeln(f[n]);
    end.
    View Code

    这是过不了滴,自己加高精的吧,啊哈哈哈哈哈哈哈哈哈(^o^)/~

  • 相关阅读:
    Java第三方工具库/包汇总
    龙果开源支付系统介绍
    a标签href不跳转 禁止跳转
    使用LVS 实现负载均衡的原理。
    使用LVS实现负载均衡原理及安装配置详解
    这是一套Java菜鸟到大牛的学习路线之高级教程,由工作了10年的资深Java架构师整理。
    LoadRunner使用教程
    Mac OS启动服务优化高级篇(launchd tuning)禁用某些服务
    三种方式配置Mac OS X的启动项
    网络资源整理
  • 原文地址:https://www.cnblogs.com/yangqingli/p/4937265.html
Copyright © 2011-2022 走看看