救命呀DEV能过但是全是WA 不知道测试点 实在找不出错误
查看原帖
救命呀DEV能过但是全是WA 不知道测试点 实在找不出错误
332262
Sukidayo楼主2021/1/9 15:51

源码如下,请大佬指正。跪谢!

#include<bits/stdc++.h>
using namespace std;
int check(int *a,int n){
    int sum=0;
    for(int i=1000;i>0;i--){
        if(a[i]==-1){
        	break;
		} 
        else if(a[i]==n){
        	sum++;
		}  
    }
    return sum;
}

void compute(int n,int *ans){
	for(int i=0;i<1000;i++)
		ans[i]=0;
	ans[1000]=1;
    for(int i=1;i<=n;i++){
        for(int j=0;j<1001;j++){
           ans[j]=ans[j]*i;
        }
        for(int j=1000;j>0;j--){
           if(ans[j]>9){
           	ans[j-1]=ans[j-1]+ans[j]/10;
           	ans[j]=ans[j]%10;
		   }
        }
    }
    for(int i=0;i<1001;i++){
    	if(ans[i]!=0){
    		ans[i-1]=-1;
    		break;
		}
	}
}
int main(){
	int t,a,b;
	cin>>t;
	static int c[1001]={0};
    for(int i=0;i<t;i++){
    	cin>>a>>b;
    	compute(a,c);
    	cout<<check(c,b)<<endl; 
	}
	return 0;
}
2021/1/9 15:51
加载中...