zoukankan      html  css  js  c++  java
  • HDOJ4535 吉哥系列故事——礼尚往来

    吉哥系列故事——礼尚往来

    Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)
    Total Submission(s): 264    Accepted Submission(s): 173


    Problem Description
      吉哥还是那个吉哥
      那个江湖人称“叽叽哥”的基哥
      
      每当节日来临,女友众多的叽叽哥总是能从全国各地的女友那里收到各种礼物。
      有礼物收到当然值得高兴,但回礼确是件麻烦的事!
      无论多麻烦,总不好意思收礼而不回礼,那也不是叽叽哥的风格。
      
      现在,即爱面子又抠门的叽叽哥想出了一个绝妙的好办法:他准备将各个女友送来的礼物合理分配,再回送不同女友,这样就不用再花钱买礼物了!
      
      假设叽叽哥的n个女友每人送他一个礼物(每个人送的礼物都不相同),现在他需要合理安排,再回送每个女友一份礼物,重点是,回送的礼物不能是这个女友之前送他的那个礼物,不然,叽叽哥可就摊上事了,摊上大事了......
      
      现在,叽叽哥想知道总共有多少种满足条件的回送礼物方案呢? 
     
    Input
    输入数据第一行是个正整数T,表示总共有T组测试数据(T <= 100);
    每组数据包含一个正整数n,表示叽叽哥的女友个数为n( 1 <= n <= 100 )。
     
    Output
    请输出可能的方案数,因为方案数可能比较大,请将结果对10^9 + 7 取模后再输出。
    每组输出占一行。
     
    Sample Input
    3 1 2 4
     
    Sample Output
    0 1 9
     
    Source
     
     1 //AC----错排
     2 #include <cstdio>
     3 #include <iostream>
     4 
     5 using namespace std;
     6 const int MOD = 1000000007;
     7 long long a[101];
     8 
     9 void fun()
    10 {
    11     a[0] = a[1] = 0;
    12     a[2] = 1;
    13     for(int i = 3; i <= 100; ++i)
    14     {
    15         a[i] = (a[i-1]+a[i-2]) * (i-1) % MOD;
    16     }
    17 }
    18 
    19 int main()
    20 {
    21     int T, n;
    22     scanf("%d", &T);
    23     fun();
    24     while(T--)
    25     {
    26         scanf("%d", &n);
    27         printf("%d\n", a[n]);
    28     }
    29 }
    功不成,身已退
  • 相关阅读:
    广域网(ppp协议、HDLC协议)
    0120. Triangle (M)
    0589. N-ary Tree Preorder Traversal (E)
    0377. Combination Sum IV (M)
    1074. Number of Submatrices That Sum to Target (H)
    1209. Remove All Adjacent Duplicates in String II (M)
    0509. Fibonacci Number (E)
    0086. Partition List (M)
    0667. Beautiful Arrangement II (M)
    1302. Deepest Leaves Sum (M)
  • 原文地址:https://www.cnblogs.com/dongsheng/p/2993138.html
Copyright © 2011-2022 走看看