标签:des blog http io ar os sp for java
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 656 Accepted Submission(s): 291
#include<iostream>
#include<cstdio>
#include<string>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<set>
#include<queue>
#include<vector>
using namespace std;
int a,b,c,dp[10][10][10],ans,x,y,z;
bool vis[10];
void dfs(int sum,int cnt,int ret)
{
if(ret==1&&cnt==a)
x=sum,sum=0,ret++,cnt=0;
else if(ret==2&&cnt==b)
y=sum,sum=0,ret++,cnt=0;
else if(ret==3&&cnt==c)
{
z=sum;
if(x*y==z)
ans++;
return ;
}
for(int i=1;i<=9;i++)
{
if(!vis[i])
{
vis[i]=true;
dfs(sum*10+i,cnt+1,ret);
vis[i]=false;
}
}
}
int main()
{
while(scanf("%d%d%d",&a,&b,&c)!=EOF)
{
ans=0;
memset(vis,0,sizeof(vis));
if(a==0&&b==0&&c==0)
break;
if(a>c||b>c||a+b<c)
{
printf("0\n");
continue;
}
if(dp[a][b][c])
{
printf("%d\n",dp[a][b][c]);
continue;
}
dfs(0,0,1);
dp[a][b][c]=ans;
printf("%d\n",dp[a][b][c]);
}
return 0;
}
标签:des blog http io ar os sp for java
原文地址:http://www.cnblogs.com/a972290869/p/4163947.html