实在是没想到怎么用dp。。。。一开始以为是大数来着。。。。没想到 直接longlong就过了
从n行选k行 C(n,k)然后n的k排列 A(n,k)
AC代码如下:
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int main(){
int T, N, K, Case = 1;
long long ans;
cin >> T;
while( T-- ){
cin >> N >> K;
ans = 1;
for( int i = 1, j = N; i <= K; i++, j-- ){
ans *= j;
}
long long temp = ans;
for( int i = K; i >= 1; i-- ){
ans /= i;
}
cout << "Case " << Case++ << ": " << ans * temp << endl;
}
return 0;
}