//708K 0MS
#include <iostream>
#include <algorithm>
using namespace std;
unsigned N , M;
unsigned C(unsigned n , unsigned m){
double Cnm = 1;
//将(N-M)!约掉
while(m)
Cnm *= double(n--)/double(m--);
Cnm += 0.5;
return (unsigned)Cnm;
}
int main(){
while(cin>>N>>M && (N+M)){
if(N < M)
swap(N , M);
N+=M;
cout<<C(N , M)<<endl;
}
return 0;
}
POJ 1492【Paths on a Grid】
组合数学C++实现
最新推荐文章于 2025-04-08 11:07:56 发布
本文展示了一种使用C++实现组合数计算的方法,通过优化的循环结构减少计算复杂度,适用于处理大规模组合数问题。

6874

被折叠的 条评论
为什么被折叠?



