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

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

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
2013腾讯编程马拉松复赛第二场(3月30日)
纯错排公式,原理如下:

当n个编号元素放在n个编号位置,元素编号与位置编号各不对应的方法数用M(n)表示,那么M(n-1)就表示n-1个编号元素放在n-1个编号位置,各不对应的方法数,其它类推.

  第一步,把第n个元素放在一个位置,比如位置k,一共有n-1种方法;

  第二步,放编号为k的元素,这时有两种情况.1,把它放到位置n,那么,对于剩下的n-2个元素,就有M(n-2)种方法;2,不把它放到位置n,这时,对于这n-2个元素,有M(n-1)种方法;

  综上得到

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

  特殊地,M(1)=0,M(2)=1

附代码:

#include<stdio.h>
__int64 a[110];
int i,j,k,l,m,n;
int main()
{a[1]=0;a[2]=1;for(i=3;i<=100;i++)a[i]=(i-1)*(a[i-1]+a[i-2])%1000000007;scanf("%d",&n);while(n--){scanf("%d",&m);printf("%I64d\n",a[m]);}return 0;
}

杭电4535吉哥系列故事——礼尚往来相关推荐

  1. HDU:4535 吉哥系列故事——礼尚往来(数学:错排)

    吉哥系列故事--礼尚往来 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Tot ...

  2. 杭电4502吉哥系列故事——临时工计划

    吉哥系列故事--临时工计划 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) To ...

  3. HDU 4535 吉哥系列故事——礼尚往来

    http://acm.hdu.edu.cn/showproblem.php?pid=4535 题目大意: 有n个妹纸没人送给吉哥一个礼物,他决定进行合理的分配,即将这些礼物送回去,就不用花钱买新礼物了 ...

  4. 吉哥系列故事——礼尚往来(简单容斥问题)

    链接:http://acm.hdu.edu.cn/showproblem.php?pid=4535 Description 吉哥还是那个吉哥 那个江湖人称"叽叽哥"的基哥 每当节日 ...

  5. HDU 4502 吉哥系列故事——临时工计划(动态规划)

    吉哥系列故事--临时工计划                                                                                      T ...

  6. 吉哥系列故事——恨7不成妻(数位 DP)

    吉哥系列故事--恨7不成妻 ∑i=1n(pre+suc)2∑i=1npre2+suc2+2×pre×sucn×pre2+∑suc2+2×pre∑suc\sum_{i = 1} ^{n}(pre + s ...

  7. 吉哥系列故事——完美队形II(hdu4513+Manacher)

    吉哥系列故事--完美队形II Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) T ...

  8. HDU 4513 吉哥系列故事――完美队形II(Manacher)

    题目链接:[kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher V - 吉哥系列故事――完美队形II 题意 吉哥又想出了一个新的完美队形游戏! 假设有n个人 ...

  9. HDUOJ 4513 吉哥系列故事——完美队形II

    HDUOJ 4513 吉哥系列故事--完美队形II Problem Description 吉哥又想出了一个新的完美队形游戏! 假设有n个人按顺序站在他的面前,他们的身高分别是h[1], h[2] - ...

最新文章

  1. POJ - 1661 Help Jimmy DP
  2. 创建QT项目只有一个pro文件
  3. 数据库随机取n条记录
  4. Bumblebee微服务网关之Url重写
  5. html 响应式布局 九宫格,两种方法实现响应式九宫格布局
  6. Linux下压缩工具gzip和归档工具tar及其实战shell应用
  7. 收藏 | 各种Optimizer梯度下降优化算法回顾和总结
  8. elastic search与mysql的数据同步
  9. linux 压缩工具
  10. 如何在win10 64位下搭载汇编环境(包含汇编dosbox和masm文件)
  11. 使用Calibre Web打造全功能书库
  12. 前端,你需要掌握的重点!!
  13. C#——NPOI对Excel的操作、导入导出时异常处理(二)
  14. 新国标电动车怎么选?绿源INNO7了解一下吧
  15. ZIP RAR文件密码破解软件ARCHPR Pro4.54(绿色中文破解版)
  16. 什么是局域计算机网络,什么是局域网_局域网概述
  17. 牛!发出中国第一封电子邮件,注册登记域名CN,中国互联网之父传奇
  18. python yield是什么意思_python yield有什么用
  19. linux控制NVme硬盘点灯,硬盘点灯模式的设置方法及装置与流程
  20. Linux 常用基本命令 ps top kill

热门文章

  1. HOG特征提取算法的过程
  2. [雪峰磁针石博客]大数据Hadoop工具python教程2-python访问HDFS
  3. Leetcode 俄罗斯套娃信封问题
  4. Spring Cloud 架构 五大神兽的功能
  5. 软件三层架构和MVC模式的区别
  6. 从 Microsoft Dynamics CRM 4.0 server迁移到 Microsoft Dynamics CRM 2013 Server
  7. 图论--有向图强连通分量的标记及缩点模板
  8. 使用perl连接oracle数据库
  9. 【自然框架】元数据的数据库结构的详细说明和示例(三):项目与数据库字段的关联...
  10. JavaScript常见笔试题分析