题意:A,B两个人比赛,名次有三种情况(并列第一,AB,BA)。输入n,求n个人比赛时最后名次的可能数。

析:本来以为是数学题,排列组合,后来怎么想也不对。原来这是一个递推。。。

设n个人时答案为f(n)假设第一名有i(0< i <= n)个人,也就是有C(n, i)种,还剩下f(n-i)种可能,然后就so easy了。

f(n) = ΣC(n, i)f(n-i)。

代码如下:

#include <iostream>
#include <cstdio>
#include <cstring>
#define mod %10056 using namespace std;
const int maxn = 1001;
int c[maxn+5][maxn+5], f[maxn+5]; void init(){
for(int i = 0; i < maxn; i++)
c[i][i] = 1, c[i][0] = 1;
for(int i = 1; i < 1001; i++)
for(int j = 1; j <= i; j++)
c[i][j] = (c[i-1][j-1] + c[i-1][j]) mod; } void solve(){
f[0] = 1, f[1] = 1, f[2] = 3;
for(int i = 3; i < 1001; i++)
for(int j = 1; j <= i; j++){
int k = (c[i][j]*f[i-j]) mod;
f[i] = (k+f[i]) mod;
}
} int main(){
memset(c, 0, sizeof(c));
memset(f, 0, sizeof(f));
init();
solve();
int n, T, cases = 0; cin >> T;
while(T--){
scanf("%d", &n);
printf("Case %d: %d\n", ++cases, f[n]);
}
return 0;
}

最新文章

  1. 锐捷linux客户端常用命令(主要用来连接校园网或公司局域网)
  2. sematext
  3. xcode6 自定义UITabbarController
  4. ☀【SeaJS】SeaJS Grunt构建
  5. 九、C# 合式类型
  6. Visual Studio中的lib的链接顺序
  7. python 字符串探讨
  8. ubuntu下百度云安装
  9. poj 1142 Smith Numbers
  10. 【原创】大叔问题定位分享(10)提交spark任务偶尔报错 org.apache.spark.SparkException: A master URL must be set in your configuration
  11. SXWIN7X64EN_20181104_NET_msu_LITE英文精简版
  12. Java入门系列(十二)Java反射
  13. Bootstrap3基础 input-group glyphicon 输入框组与glyphicon图标
  14. [转载]哪个版本的gcc才支持c11
  15. 【WP8】键盘弹出时控制Frame位置
  16. springboot集成shiro 前后端分离
  17. Docker应用三:Dockerfile使用介绍(以安装redis为例)
  18. CodeVS4416 FFF 团卧底的后宫
  19. Android 面试题集 包含答案
  20. C# 基础知识 (四).C#简单介绍及托管代码

热门文章

  1. 如何在Oracle中建立表和表空间?
  2. Docker之My sql 之旅
  3. (转)游戏引擎中三大及时光照渲染方法介绍(以unity3d为例)
  4. 在hadoop运行tensor flow
  5. javascript中的二维数组
  6. 如何搭建hibernate框架
  7. PHP的zip、unzip类详解
  8. [leetcode]689. Maximum Sum of 3 Non-Overlapping Subarrays三个非重叠子数组的最大和
  9. SVN版本冲突中 Files 的值“ &lt; &lt; &lt; &lt; &lt; &lt; &lt; .mine”无效路径中具有非法字符的解决办法
  10. Phalcon Framework的MVC结构及启动流程分析