标签:
1 #include <stdio.h> 2 3 int main() 4 { 5 int n,a,b,i,j; 6 __int64 s[22],h[22]; 7 s[1]=0; 8 s[2]=1; 9 s[3]=2; 10 for(i=4;i<21;i++) 11 { 12 s[i]=(i-1)*(s[i-1]+s[i-2]); 13 } 14 scanf("%d",&n); 15 while(n--) 16 { 17 scanf("%d%d",&a,&b); 18 h[0]=1; 19 for(j=1;j<22;j++){ 20 h[j]=j*h[j-1]; 21 } 22 printf("%I64d\n",h[a]/(h[a-b]*h[b])*s[b]); 23 } 24 return 0; 25 }
1 #include<iostream> 2 #include<cstdio> 3 using namespace std; 4 long long fac(long long y) 5 { 6 if(y==0) 7 return 1; 8 if(y==1) 9 return 1; 10 else 11 return y*fac(y-1); 12 } 13 int zu(int n,int m) 14 { 15 return fac(n)/(fac(m)*fac(n-m)); 16 } 17 int main() 18 { 19 long long a[22]; 20 int i,T; 21 a[1]=0,a[2]=1,a[3]=2; 22 for(i=4;i<=20;i++) 23 a[i]=(i-1)*(a[i-2]+a[i-1]); 24 cin>>T; 25 int N,M; 26 while(T--) 27 { 28 cin>>N>>M; 29 cout<<zu(N,M)*a[M]<<endl; 30 } 31 return 0; 32 }
标签:
原文地址:http://www.cnblogs.com/a1225234/p/4550007.html