首页 > 其他 > 详细

POJ1942-Paths On a Grid-组合数学

时间:2016-01-29 15:28:37      阅读:215      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!