您的位置:首页 > 编程语言 > C语言/C++

【poj 1942】Paths on a Grid 题意&题解&代码(C++)

2016-03-31 09:49 274 查看
题目链接:

http://poj.org/problem?id=1942

题意:

给定一个矩阵,只能上和右,问从左下到右上一共有多少种走法。

题解:

向上走了n步,向右走了m步,总共一定有 n+m 步,从中选择n处放左走,(或选m处向右走),即 n C n+m 。

样例太水,暴力枚举阶乘就能过,而且也不用考虑边乘边除的精度问题,233

代码:

#include<iostream>
#include<algorithm>
#include<stdio.h>
using namespace std;
unsigned long long int n,m;
int main()
{
while(cin>>n>>m)
{
if (n==0&&m==0) return 0;
if (n>m) swap(n,m);
unsigned long long int s=1,i,j;
for (i=m+1,j=1;i<=m+n;i++,j++)
s=s*i/j;
cout<<s<<endl;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: