求组合数 I
C++
求组合数 I
/* 题目描述: 给定 n 组询问,每组询问给定两个整数 a,b,请你输出 Cbamod(109+7) 的值。 输入格式: 第一行包含整数 n。 接下来 n 行,每行包含一组 a 和 b。 输出格式: 共 n 行,每行输出一个询问的解。 数据范围: 1 ≤ n ≤ 10000, 1 ≤ b ≤ a ≤ 2000 解题思路: 无论从组合数的定义或者是从组合数的数学公式,都可以得到 C(a, b) = C(a-1, b-1) + C(a-1, b) */ #include <cstdio> #include <cstring> #include <algorithm> #include <iostream> using namespace std; const int N = 2010, MOD = 1e9 + 7; int f[N][N]; int n; int main() { memset(f, 0, sizeof f); f[0][0] = 1; for (int i = 1; i < N - 5; i ++ ) { f[i][0] = 1; for (int j = 1; j <= i; j ++ ) { f[i][j] = (f[i-1][j] + f[i-1][j-1]) % MOD; } } scanf("%d", &n); int a, b; while (n -- ) { scanf("%d%d", &a, &b); printf("%d\n", f[a][b]); } return 0; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下