• HDOJ2068 RPG的错排


    RPG的错排

    Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
    Total Submission(s): 4631    Accepted Submission(s): 1895


    Problem Description
    今年暑假杭电ACM集训队第一次组成女生队,其中有一队叫RPG,但做为集训队成员之一的野骆驼竟然不知道RPG三个人具体是谁谁。RPG给他机会让他猜猜,第一次猜:R是公主,P是草儿,G是月野兔;第二次猜:R是草儿,P是月野兔,G是公主;第三次猜:R是草儿,P是公主,G是月野兔;......可怜的野骆驼第六次终于把RPG分清楚了。由于RPG的带动,做ACM的女生越来越多,我们的野骆驼想都知道她们,可现在有N多人,他要猜的次数可就多了,为了不为难野骆驼,女生们只要求他答对一半或以上就算过关,请问有多少组答案能使他顺利过关。
     
    Input
    输入的数据里有多个case,每个case包括一个n,代表有几个女生,(n<=25), n = 0输入结束。
     
    Sample Input
    1 2 0
     
    Sample Output
    1 1
     
     1 //    愣了半天啊  我用long long 就是不行  改成__int64 就可以了 这是什么情况
     2 #include <iostream>
     3 #include <cstdio>
     4 using namespace std;
     5 
     6 __int64 a[14];     //  a[i] 表示 i 个人实现全部错排的方案个数
     7 
     8 int C(int n, int m)    // 求 C(n,m)
     9 {
    10     __int64 t = 1;
    11     __int64 tmp = 1;
    12     for(int i = 1; i <= m; ++i)
    13     {
    14         tmp *= (n - i + 1);
    15         t *= i;
    16     }
    17     return tmp / t;
    18 }
    19 
    20 int main()
    21 {
    22     a[1] = 0;
    23     a[2] = 1;
    24     for(int i = 3; i < 14; ++i)
    25         a[i] = (a[i-1] + a[i-2]) * (i - 1);
    26     int n;
    27     while(scanf("%d", &n), n)
    28     {
    29         __int64 res = 1;
    30         for(int i = 2; i <= (n >> 1); ++i)
    31         {
    32             res += a[i] * C(n, i);
    33         }
    34         printf("%I64d\n", res);
    35     }
    36     return 0;
    37 }
    功不成,身已退
  • 相关阅读:
    高德地图信息窗体轮播及多组坐标点添加
    移动端适配及px转rem
    css伪类样式覆盖
    vue-amap-marker相关问题,信息窗体及自定义图片的偏移问题
    echart自定义图例样式及统计图颜色相关
    ts学习笔记[枚举类型]
    从面试中查漏补缺
    百度编译器插入自定义内容和样式(转)
    .net的母版页相关
    几种Position属性的用法
  • 原文地址:https://www.cnblogs.com/dongsheng/p/2797976.html
Copyright © 2020-2023  润新知