求组合数非常简单的。暴力求解太惨了。
比较高级的等以后再学。
利用公司公式
C(n,m) = C(n - 1,m) + C(n-1,m-1)
#include <iostream>
#define LL long long
using namespace std;
LL rst[67][67] = {0};
LL C(LL n, LL m)
{
if(m == 0 || n == 0 || n == 1 || m == n)
return 1;
if(rst[n][m] != 0)
{
return rst[n][m];
}
return rst[n][m] = C(n - 1,m) + C(n - 1,m - 1);
}
int main()
{
int n,m;
cin >> n >> m;
cout << C(n,m) << endl;
return 0;
}