虽然用些奇奇怪怪的手段能过就是了
```cpp
#include<bits/stdc++.h>
using namespace std;
#define MAXN 50
long long sn,n,ans=0x3f3f3f3f;
char s[MAXN];
clock_t ti;
void dfs(long long pos,long long now,long long k){
if(clock()-ti>950){
printf("-1");
exit(0);
}
if(now>n)return;
else for(int i=pos,sum=0;i<sn&&sum+now<=n;++i){
sum=sum*10+s[i]-'0';
if(now+sum==n&&i+1==sn)ans=min(k+1,ans);
if(sum)
dfs(i+1,now+sum,k+1);
}
// for(int i=0;i<k;++i)printf(" ");
// printf("%lld\n",now);
}
int main(){
scanf("%s",s);
sn=strlen(s);
scanf("%lld",&n);
ti=clock();
dfs(0,0,-1);
printf("%lld",ans==0x3f3f3f3f?-1:ans);
}
```
by HeW3 @ 2023-11-28 13:56:33