light oj 1095 组合数学
2016-08-11 18:38
375 查看
#include <stdio.h> #include <string.h> #include <stdlib.h> #include <math.h> #include <iostream> #include <algorithm> #include <climits> #include <queue> #define ll long long using namespace std; const int MAX = 200005; const ll MOD = 1e9+7; ll F[1010],C[1010][1010]; void init() { F[0] = 1; F[1] = 0; F[2] = 1; for(int i = 3; i <= 1000; i++) F[i] = (i-1)*(F[i-1]+F[i-2])%MOD; for(int i = 0; i <= 1000; i++) { for(int j = 0; j <= i; j++) { if(j == 0) C[i][j] = 1; else C[i][j] = (C[i-1][j]+C[i-1][j-1])%MOD; } } } void solve() { int n,m,k; scanf("%d %d %d",&n,&m,&k); ll ans = 0; for(int i = 0; i <= n-m; i++) { ans += (C[n-m][i]*F[n-k-i]); ans %= MOD; } ans *= C[m][k]; ans %= MOD; printf("%lld\n",ans); } int main(void) { init(); int t,cnt = 0; scanf("%d",&t); while(t--) { printf("Case %d: ",++cnt); solve(); } return 0; }
相关文章推荐
- light oj 1005 - Rooks (组合数学)
- lightoj 1095 - Arrange the Numbers 组合数学
- light oj 1005 - Rooks(组合数学)
- light oj 1005 - Rooks(组合数学)
- bzoj 1008: [HNOI2008]越狱 简单组合数学
- POJ 2409 Let it Bead 组合数学
- poj_1850 Code(组合数学/dfs)
- 水一个:组合数学生成作业的程序,算法很垃圾,有兴趣的帮我改一下啊
- HDU 2200 Eddy's AC难题(组合数学)
- 【loli的胡策】训练1.14(组合数学+概率期望+乱搞)
- POJ 3734 Blocks 组合数学
- POJ_1809_Regetni(组合数学)
- UVA 12712 Pattern Locker(简单排列组合数学题)
- [AGC005] F - Many Easy Problems 组合数学+快速数论变换
- 数论、组合数学
- 吃糖果(组合数学)
- 组合数学之母函数
- 机器人走方格 V2 51Nod - 1119 组合数学+逆元
- 组合数学
- Prufer编码 & [bzoj 1005] [HNOI2008]明明的烦恼:Prufer编码,组合数学,高精度