这道题其实就是组合数,题目给了m,n,实际上路径的长度已经确定了,就是m+n,但在这些路径中必须有m个向右走的,n个向上走的,这样才能到达终点
这就变成了求组合数C(m + n, n) 其中n必须是m,n中较小的那个,这样速度还快些
在求组合数的时候,要避免的是越界问题,所以每次我都是先除,然后再乘,除的时候也不能直接除,一定要求了公约数后再除,这样才是整除。
/*
ID: sdj22251
PROG: subset
LANG: C++
*/
#include <iostream>
#include <vector>
#include <list>
#include <map>
#include <set>
#include <deque>
#include <queue>
#include <stack>
#include <bitset>
#include <algorithm>
#include <functional>
#include <numeric>
#include <utility>
#include <sstream>
#include <iomanip>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <cctype>
#include <string>
#include <cstring>
#include <cmath>
#include <ctime>
#define MAXN 305
#define INF 100000000
#define eps 1e-7
#define PI 3.1415926535898
using namespace std;
__int64 C(__int64 M, __int64 N)
{
__int64 m = M - N;
__int64 ans = 1;
for(__int64 i = M; i >= m + 1; i--)
{
__int64 tmp = __gcd(i, M - i + 1);
ans /= (M - i + 1) / tmp;
ans *= i / tmp;
}
return ans;
}
int main()
{
__int64 n, m;
while(scanf("%I64d%I64d", &n, &m) != EOF)
{
if(n == 0 && m == 0) break;
if(n > m) swap(m, n);
printf("%I64d\n", C(m + n, n));
}
return 0;
}
分享到:
相关推荐
北大POJ1942-Paths on a Grid 解题报告+AC代码
poj 1909 Marbles on a tree.md
POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类
北大POJ2031-Building a Space Station【Prim+计算几何】 POJ2031-Building a Space Station【Prim+计算几何】
北大POJ1584-A Round Peg in a Ground Hole 解题报告+AC代码
北大POJ1691-Painting A Board 【拓扑+DFS】 解题报告+AC代码
组合数学 ACM 和,POJ里用到组合数学的题目
poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题...
北大POJ2488-A Knight's Journey 解题报告+AC代码
北大POJ1005-I Think I Need a Houseboat 解题报告+AC代码
poj分类poj分类poj分类poj分类
POJ第1861题源码 POJ第1861题源码 POJ第1861题源码
poj 3414解题报告poj 3414解题报告poj 3414解题报告poj 3414解题报告
poj 1012解题报告poj 1012解题报告poj 1012解题报告poj 1012解题报告
poj 2329解题报告poj 2329解题报告poj 2329解题报告poj 2329解题报告
北大POJ1159-Palindrome 解题报告+AC代码
poj 1659解题报告poj 1659解题报告poj 1659解题报告poj 1659解题报告
POJ3177-Redundant Paths 【Tarjan-边双连通分量-缩点】 解题报告+AC代码+测试数据 http://hi.csdn.net/!s/GPAY6Z 附:我所有的POJ解题报告链接 . http://blog.csdn.net/lyy289065406/article/details/6642573
poj 3987 Computer Virus on Planet Pandora.md
poj 1308 Is It A Tree_.md