pku1942-Paths on a Grid

2014-11-24 11:03:04 · 作者: · 浏览: 0

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

pku1942

Runtime Error
[cpp]
#include
#include
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
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 return 0;
}