NYOJ 1076 方案数量(公式 或 递推)
方案数量
- 描述
-
给出一个N*M的棋盘,左下角坐标是(0,0),右上角坐标是(N,M),规定每次只能向上或者向右走,问从左下角走到右上角,一共有多少种方案。上图是一个4*3的棋盘。
- 输入
-
多组测试数据。
每组输入两个整数N,M(0≤N,M≤30)。
输入0,0时表示结束,不做任何处理。 - 输出
- 对于每组测试数据,输出对应的方案数。
- 样例输入
-
4 3 2 2 0 0
- 样例输出
-
35 6
分析:这道题有2种做法。
一、推公式
ans = C(n+m, n)。因为从左下角走到右上角一共要走n+m步,往上要走n步,如果用1表示向上走,用0表示向右走,则相当于给n+m个数进行赋值,其中n个数被赋值为1,求有多少种赋值方法。只需从n+m个数里挑出n个,有C(n+m, n)中挑选办法。
#include <cstdio>long long get_ans(long long a, long long x) {long long ans = 1;for(long long i = 1; i <= a; i++)ans = ans * (x - i + 1) / i;return ans; }int main() {long long n, m;while(~scanf("%lld%lld", &n, &m) && (n + m)) {printf("%lld\n", get_ans(n, n + m));}return 0; }
二、递推
因为如果要到(n, m)点,要么从(n-1, m)点过来,要么从(n, m-1)点过来,设dp[i][j]表示从(0, 0)到(i, j)有多少种方案,
则dp[i][j] = dp[i-1][j] + dp[i][j-1],最后输出dp[n][m]就是答案。
#include <cstdio> #include <cstring>const int N = 32; long long dp[N][N];void get_ans() {memset(dp, 0, sizeof(dp));for(int i = 0; i < 31; i++)dp[i][0] = dp[0][i] = 1;for(int i = 1; i < 31; i++)for(int j = 1; j < 31; j++)dp[i][j] = dp[i-1][j] + dp[i][j-1]; }int main() {get_ans();int n, m;while(~scanf("%d%d", &n, &m) && (n + m)) {printf("%lld\n", dp[n][m]);}return 0; }
NYOJ 1076 方案数量(公式 或 递推)相关推荐
- S - 母牛的故事(递推)
有一头母牛,它每年年初生一头小母牛.每头小母牛从第四个年头开始,每年年初也生一头小母牛.请编程实现在第n年的时候,共有多少头母牛? Input 输入数据由多个测试实例组成,每个测试实例占一行,包括一个 ...
- 【组合数学】递推方程 ( 递推方程内容概要 | 递推方程定义 | 递推方程示例说明 | 斐波那契数列 )
文章目录 一.递推方程 内容概要 二.递推方程 定义 三.递推方程 示例 四.斐波那契数列 ( Fibnacci ) 一.递推方程 内容概要 递推方程 内容概要 : 递推方程定义 递推方程实例 常系数 ...
- POJ 3734 Blocks 矩阵递推
POJ3734 比较简单的递推题目,只需要记录当前两种颜色均为偶数, 只有一种颜色为偶数 两种颜色都为奇数 三个数量即可,递推方程相信大家可以导出. 最后来个快速幂加速即可. #include< ...
- python字典统计排序 统计各省份大学数量_1641统计字典排序元音字符串的数量(递归,递归),数目,递推...
1. 问题描述: 给你一个整数 n,请返回长度为 n .仅由元音 (a, e, i, o, u) 组成且按 字典序排列的字符串数量.字符串 s 按字典序排列需要满足:对于所有有效的 i,s[i] 在字 ...
- HDOJ 1465 不容易系列之一 【错排公式 递推】
HDOJ 1465 不容易系列之一 [错排公式 递推] 题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=1465 题目就是说n个信封全部装错信的可能性是多 ...
- Bailian4108 羚羊数量-Number Of Antelope【递推+打表】
4108:羚羊数量-Number Of Antelope 总时间限制: 1000ms 内存限制: 65536kB 描述 草原上有一种羚羊,假设它们出生时为0岁,那么经过3年的成长,当它们在3岁的时候会 ...
- 【组合数学】二项式定理与组合恒等式 ( 二项式定理 | 三个组合恒等式 递推式 | 递推式 1 | 递推式 2 | 递推式 3 帕斯卡/杨辉三角公式 | 组合分析方法 | 递推式组合恒等式特点 )
文章目录 一.二项式定理 二.组合恒等式 ( 递推式 1 ) 三.组合恒等式 ( 递推式 2 ) 四.组合恒等式 ( 递推式 3 ) 帕斯卡 / 杨辉三角公式 五.组合分析方法 六.递推式组合恒等式特 ...
- 【组合数学】递推方程 ( 常系数线性齐次递推方程 | 常系数、线性、齐次 概念说明 | 常系数线性齐次递推方程公式解法 | 特征根 | 通解 | 特解 )
文章目录 一.常系数线性齐次递推方程 二.常系数.线性.齐次 概念说明 三.常系数线性齐次递推方程公式解法 四.常系数线性齐次递推方程公式解法内容概要 一.常系数线性齐次递推方程 常系数线性齐次递推方 ...
- 递推最小二乘法RLS公式详细推导
递推最小二乘法RLS公式详细推导 整理递推最小二乘法推导过程自我整理. 递推最小二乘估计(RLS)作为一种估计方式是在最小二乘法(LS)的基础上发展来的. 最小二乘法可以解决的问题是不需要知道先验的概 ...
最新文章
- python中add函数_如何使用python中的add函数?
- ApacheBench-web性能测试
- postfix+mysql+dovecot
- java自定义标签 map_基于Spring MVC的自定义标签Tag
- 关于动态生成输入界面的一些想法及实践
- hadoop博客 oschina
- #if defined(__cplusplus)
- nssl1459-空间简单度【扫描线,线段树】
- Web开发框架–第1部分:选项和标准
- java冒险模组_求推荐几个冒险类的MOD
- LNMP详解(十三)——Nginx子页面详解
- 拓端tecdat|Matlab通过市场数据校准Hull-White利率模型参数
- 中国顶级程序员图鉴,最后一个厉害了!
- stm32点亮流水灯(小白的求学之路)
- 大年初五嘉定观影《天将雄师》后点评
- 中职高二学生计算机学情分析,高二学生学习数学的学情分析.doc
- camera 的学习笔记(一)
- SCI分区方法---JCR期刊分区及其检索方法
- hihocoder1383 The Book List 字典树
- IDEA乱码问题(jdk18)