pku1942-Paths on a Grid

来源:岁月联盟 编辑:exp 时间:2012-08-14

本质上是组合数公式 一开始是用搜索模拟 太慢了

pku1942

Runtime Error
[cpp] 
#include<iostream> 
#include<stdio.h> 
using namespace std; 
 
__int64 dfs(__int64 x,__int64 y) 

    if(x==1||y==1) return 1; 
    return dfs(x-1,y)+dfs(x,y-1); 

 
int main() 

    __int64 m,n; 
    while(scanf("%I64d%I64d",&m,&n),m+n) 
    { 
        printf("%I64d/n",dfs(m+1,n+1)); 
    } 
    return 0; 

 

 

Accepted
[cpp] 
#include<iostream> 
using namespace std; 
 
__int64 C(__int64 n,__int64 m) 

    __int64 d,i; www.2cto.com
    if(m>n/2) m=n-m; 
    for(d=i=1;i<=m;i++)  d=d*(n-i+1)/i; 
    return d; 

 
int main() 

    __int64 m,n; 
    while(scanf("%I64d%I64d",&m,&n),m+n) 
        printf("%I64d/n",C(m+n,m<n?m:n)); 
    return 0;