# include <stdio.h>
# include <string.h>
char a[15];
int len=0;
__int64 sum,n;
void dfs(int x,__int64 w)
{
int i;
if(x==len)
{
if(w==n)
sum++;
return ;
}
__int64 k=0;
for(i=x;i<len;i++)
{
k=k*10+a[i]-'0';
dfs(i+1,w+k);
if(x!=0)
dfs(i+1,w-k);
}
}
int main ()
{
while(scanf("%s %I64d",a,&n)!=EOF)
{
sum=0;
len = strlen (a);
dfs(0,0);
printf("%I64d\n",sum);
}
return 0;
}
dfs搜索
hdu 2266
最新推荐文章于 2019-06-11 10:45:43 发布