void-man

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

题目大意,给出一个网格的长m和宽n,然后让你求出从左下角到右上角的走法的种类...

这题高中时候做过,就是 组合数学,总共需要走m+n步,从这里面选出m步来走长的m步,即可

1 #include <stdio.h>
2  double c(double m,double n)
3 {
4 double a=1;
5 if(n>=m)
6 for(int i=1;i<=m;i++)
7 a=a*(n+i)/i;
8 else for(int i=1;i<=n;i++)
9 a=a*(m+i)/i;
10 printf("%.0lf\n",a);
11
12 }
13
14  int main()
15 {
16 double m,n;
17 while(scanf("%lf%lf",&m,&n)!=-1)
18 if(m==0&&n==0)break;
19 else c(m,n);
20 return 0;
21 }
posted on 2011-04-14 23:16  void-man  阅读(120)  评论(0)    收藏  举报