http://poj.org/problem?id=1942
题意:一个n*m的格子,从左下角走到右上角有多少种走法,规定只能向上或向右走;
思路:解法挺水的,高中学组合数的时候老师给讲过;求C[m+n][n]就可以;
但是这里n,m是32位以内的数,要用double,输出的时候只输出整数部分;
1 #include<iostream>
2 #include<iomanip>
3 using namespace std;
4
5 double n,m,ans;
6 int main()
7 {
8 cout<<
fixed<<setprecision(
0);
9 while(cin>>n>>
m)
10 {
11 if(n ==
0 && m ==
0)
12 break;
13 if(n >
m) swap(n,m);
14
15 ans =
1;
16 for(unsigned i =
1; i <= n; i++
)
17 {
18 ans = ans*(m+i)/
i;
19 }
20 cout<<ans<<
endl;
21 }
22 return 0;
23 }
View Code
转载于:https://www.cnblogs.com/LK1994/p/3343940.html