hdu 3419

来源:互联网 发布:淘宝文案代写 编辑:程序博客网 时间:2024/05/19 07:44
暴力做法:#include<stdio.h>#include<math.h>#include<string.h>#define N 20int num[N];int juge(int n){memset(num,0,sizeof(num));while(n){if(n%10==0)return 0;if(num[n%10]==0)num[n%10]=1;elsereturn 0;n=n/10;}return 1;}int judge(int n,int a,int b,int w){int m;memset(num,0,sizeof(num));m=(int)log10(n*1.0)+1;if(m!=w)return 0;while(n){if(n%10==0)return 0;if(num[n%10]==0)num[n%10]=1;elsereturn 0;n=n/10;}while(a){if(a%10==0)return 0;if(num[a%10]==0)num[a%10]=1;elsereturn 0;a=a/10;}while(b){if(b%10==0)return 0;if(num[b%10]==0)num[b%10]=1;elsereturn 0;b=b/10;}return 1;}int main(){int a,b,c,s1,s2,i,j,s,ans;while(scanf("%d%d%d",&a,&b,&c)!=EOF){if(a==0&&b==0&&c==0)break;if(a==0||b==0||c==0){printf("0\n");continue;}if(a>c||b>c){printf("0\n");continue;}if((a+b+c)>=10){printf("0\n");continue;}s1=1;for(i=1;i<=a-1;i++)s1*=10;s2=1;for(i=1;i<=b-1;i++)s2*=10;ans=0;for(i=s1;i<s1*10;i++){if(juge(i)==1){for(j=s2;j<s2*10;j++){if(juge(j)==1){s=i*j;if(judge(s,i,j,c)==1)ans++;}}}}printf("%d\n",ans);}return 0;}

0 0
原创粉丝点击