POJ1942-Paths On a Grid-组合数学

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了POJ1942-Paths On a Grid-组合数学相关的知识,希望对你有一定的参考价值。

从n+m步中挑选min(n,m)步向上走,剩下的就是向下走。

求解n+mCmin(n,m)时,要一边计算一边约分。

 

#include <cstdio>
#include <algorithm>
#include <iostream>

using namespace std;
unsigned int n,m;

unsigned int Com(unsigned int m,unsigned int n)
{
    double cnm = 1.0;
    while(n > 0)
        cnm *= (double)(m--)/(double)(n--);
    cnm += 0.5;
    return (unsigned int)cnm;
}

int main()
{
    while(cin>>n>>m && (n||m) )
    {
        cout << Com(n+m,min(n,m))<<endl;
    }
}

 

以上是关于POJ1942-Paths On a Grid-组合数学的主要内容,如果未能解决你的问题,请参考以下文章

poj1942 Paths on a Grid(无mod大组合数)

POJ1942-Paths on a Grid

POJ - 1942 D - Paths on a Grid

Paths on a Grid POJ 1942 (组合数学 || 暴力)

Match:Milking Grid(二维kmp算法)(POJ 2185)

CodeChefQuerying on a Grid(分治,最短路)