方案数量

时间限制:1000 ms  |  内存限制:65535 KB
难度:2
描述

给出一个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 方案数量(公式 或 递推)相关推荐

  1. S - 母牛的故事(递推)

    有一头母牛,它每年年初生一头小母牛.每头小母牛从第四个年头开始,每年年初也生一头小母牛.请编程实现在第n年的时候,共有多少头母牛? Input 输入数据由多个测试实例组成,每个测试实例占一行,包括一个 ...

  2. 【组合数学】递推方程 ( 递推方程内容概要 | 递推方程定义 | 递推方程示例说明 | 斐波那契数列 )

    文章目录 一.递推方程 内容概要 二.递推方程 定义 三.递推方程 示例 四.斐波那契数列 ( Fibnacci ) 一.递推方程 内容概要 递推方程 内容概要 : 递推方程定义 递推方程实例 常系数 ...

  3. POJ 3734 Blocks 矩阵递推

    POJ3734 比较简单的递推题目,只需要记录当前两种颜色均为偶数, 只有一种颜色为偶数 两种颜色都为奇数 三个数量即可,递推方程相信大家可以导出. 最后来个快速幂加速即可. #include< ...

  4. python字典统计排序 统计各省份大学数量_1641统计字典排序元音字符串的数量(递归,递归),数目,递推...

    1. 问题描述: 给你一个整数 n,请返回长度为 n .仅由元音 (a, e, i, o, u) 组成且按 字典序排列的字符串数量.字符串 s 按字典序排列需要满足:对于所有有效的 i,s[i] 在字 ...

  5. HDOJ 1465 不容易系列之一 【错排公式 递推】

    HDOJ 1465 不容易系列之一 [错排公式 递推] 题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=1465 题目就是说n个信封全部装错信的可能性是多 ...

  6. Bailian4108 羚羊数量-Number Of Antelope【递推+打表】

    4108:羚羊数量-Number Of Antelope 总时间限制: 1000ms 内存限制: 65536kB 描述 草原上有一种羚羊,假设它们出生时为0岁,那么经过3年的成长,当它们在3岁的时候会 ...

  7. 【组合数学】二项式定理与组合恒等式 ( 二项式定理 | 三个组合恒等式 递推式 | 递推式 1 | 递推式 2 | 递推式 3 帕斯卡/杨辉三角公式 | 组合分析方法 | 递推式组合恒等式特点 )

    文章目录 一.二项式定理 二.组合恒等式 ( 递推式 1 ) 三.组合恒等式 ( 递推式 2 ) 四.组合恒等式 ( 递推式 3 ) 帕斯卡 / 杨辉三角公式 五.组合分析方法 六.递推式组合恒等式特 ...

  8. 【组合数学】递推方程 ( 常系数线性齐次递推方程 | 常系数、线性、齐次 概念说明 | 常系数线性齐次递推方程公式解法 | 特征根 | 通解 | 特解 )

    文章目录 一.常系数线性齐次递推方程 二.常系数.线性.齐次 概念说明 三.常系数线性齐次递推方程公式解法 四.常系数线性齐次递推方程公式解法内容概要 一.常系数线性齐次递推方程 常系数线性齐次递推方 ...

  9. 递推最小二乘法RLS公式详细推导

    递推最小二乘法RLS公式详细推导 整理递推最小二乘法推导过程自我整理. 递推最小二乘估计(RLS)作为一种估计方式是在最小二乘法(LS)的基础上发展来的. 最小二乘法可以解决的问题是不需要知道先验的概 ...

最新文章

  1. python中add函数_如何使用python中的add函数?
  2. ApacheBench-web性能测试
  3. postfix+mysql+dovecot
  4. java自定义标签 map_基于Spring MVC的自定义标签Tag
  5. 关于动态生成输入界面的一些想法及实践
  6. hadoop博客 oschina
  7. #if defined(__cplusplus)
  8. nssl1459-空间简单度【扫描线,线段树】
  9. Web开发框架–第1部分:选项和标准
  10. java冒险模组_求推荐几个冒险类的MOD
  11. LNMP详解(十三)——Nginx子页面详解
  12. 拓端tecdat|Matlab通过市场数据校准Hull-White利率模型参数
  13. 中国顶级程序员图鉴,最后一个厉害了!
  14. stm32点亮流水灯(小白的求学之路)
  15. 大年初五嘉定观影《天将雄师》后点评
  16. 中职高二学生计算机学情分析,高二学生学习数学的学情分析.doc
  17. camera 的学习笔记(一)
  18. SCI分区方法---JCR期刊分区及其检索方法
  19. hihocoder1383 The Book List 字典树
  20. IDEA乱码问题(jdk18)

热门文章

  1. spring boot实现软删除
  2. JMS学习(六)--提高非持久订阅者的可靠性 以及 订阅恢复策略
  3. 关于exchange 2013输入账号密码后owa空白页解决方法
  4. Tomcat目录结构及Tomcat Server处理一个http请求的过程
  5. 一步一步教你写淡入淡出带注释的图片轮播插件(一)
  6. 慎用AXIS2(续)
  7. LIST OF CITIES FOR POTENTIAL VISIT IN SOUTHERN UK
  8. 大四上学期的分数和分析感悟
  9. 能够显著降低焦虑的两种方法
  10. Macbook m1 install Homebrew