码迷,mamicode.com
首页 > 其他好文 > 详细

POJ1942-Paths On a Grid-组合数学

时间:2016-01-29 15:31:47      阅读:144      评论:0      收藏:0      [点我收藏+]

标签:

从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-组合数学

标签:

原文地址:http://www.cnblogs.com/helica/p/5168657.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!