poj1942
来源:互联网 发布:增值税发票软件安装 编辑:程序博客网 时间:2024/06/07 00:43
Paths on a Grid
Description
Imagine you are attending your math lesson at school. Once again, you are bored because your teacher tells things that you already mastered years ago (this time he's explaining that (a+b)2=a2+2ab+b2). So you decide to waste your time with drawing modern art instead.
Fortunately you have a piece of squared paper and you choose a rectangle of size n*m on the paper. Let's call this rectangle together with the lines it contains a grid. Starting at the lower left corner of the grid, you move your pencil to the upper right corner, taking care that it stays on the lines and moves only to the right or up. The result is shown on the left:
Really a masterpiece, isn't it? Repeating the procedure one more time, you arrive with the picture shown on the right. Now you wonder: how many different works of art can you produce?
Fortunately you have a piece of squared paper and you choose a rectangle of size n*m on the paper. Let's call this rectangle together with the lines it contains a grid. Starting at the lower left corner of the grid, you move your pencil to the upper right corner, taking care that it stays on the lines and moves only to the right or up. The result is shown on the left:
Really a masterpiece, isn't it? Repeating the procedure one more time, you arrive with the picture shown on the right. Now you wonder: how many different works of art can you produce?
Input
The input contains several testcases. Each is specified by two unsigned 32-bit integers n and m, denoting the size of the rectangle. As you can observe, the number of lines of the corresponding grid is one more in each dimension. Input is terminated by n=m=0.
Output
For each test case output on a line the number of different art works that can be generated using the procedure described above. That is, how many paths are there on a grid where each step of the path consists of moving one unit to the right or one unit up? You may safely assume that this number fits into a 32-bit unsigned integer.
Sample Input
5 41 10 0
Sample Output
1262
Source
Ulm Local 2002
排列组合问题。计算A(n+m,n)。
代码如下:
#include<iostream>using namespace std;unsigned A(unsigned n, unsigned m) {//计算A(n+m,n) unsigned a = n + m; unsigned b; if (n < m) b = n; else b = m; double result = 1.0; while (b > 0) result *= (double) (a--) / (double) (b--); result += 0.5; return (unsigned) result;}int main(void) { unsigned n, m; while (cin >> n >> m && (n + m)) cout << A(n, m) << endl; return 0;}
- poj1942
- poj1942
- poj1942
- poj1942
- poj1942-组合数学
- 1poj1942(组合数学)
- poj1942 组合数
- poj1942 递推
- poj1942求组合数
- poj1942组合数学
- poj1942 Paths on a Grid
- poj1942 Paths on a Grid
- poj1942 Paths on a Grid 【排列组合】
- poj1942 Paths on a Grid(组合数)
- poj1942线性复杂度求组合数
- POJ1942 Paths on a Grid (组合数学)
- POJ1942——Paths on a Grid
- poj1942 http://poj.org/problem?id=1942
- Viz Artist Script 关于场景(scene script)变量和组(container script)变量
- 几种调用约定[转自百度百科]
- IT人员迅速提升自我效率的十大方法
- arm-linux-eabi 和arm-none-eabi的区别
- SQL语句导入导出大全[收集]
- poj1942
- file_operation
- php.ini配置PHP扩展
- 做网站用UTF-8还是GB2312?
- 字符串输出
- make module失败的原因cc1: error: unrecognized command line option "-m64"
- 关于hibernate的缓存使用
- Rovio发布新游戏Amazing Alex(视频演示)
- 大学生为何后悔上大学