自测阶乘写得没问题,该初始化的也初始化了,造了几组数据也过了,但是全WA
#include<bits/stdc++.h>
using namespace std;
int T,n,k,ans;
int num[1000];
int qdl(){
int r;
for(r=999;num[r]==0;r--);
return r;
}
int main()
{
cin>>T;
while(T--){
ans=0;
cin>>n>>k;
memset(num,0,sizeof(num));
num[1]=1;
for(int i=2;i<=n;i++){
int s=qdl();
for(int j=1;j<=s;j++){
num[j]*=i;
num[j]+=num[j-1]/10;
num[j-1]%=10;
}for(int j=s;j<1000;j++){
if(num[j]>9){
num[j+1]+=num[j]/10;
num[j]%=10;
continue;
}break;
}
}int x=qdl();
for(int i=1;i<=x;i++)
if(num[i]==k)ans++;
cout<<ans<<endl;
}
return 0;
}