请问为啥没有优化就过了?
当时想看看没优化的代码多少分结果就AC了
很大的问号
#include <bits/stdc++.h>
using namespace std;
string st;
int n,len,t;
bool p[50];
int ans=100;
bool check(){
int tot=0,sum=0;
for(int i=0;i<len;i++){
if(p[i]){
t++;
sum+=tot;
tot=st[i]-48;
}else{
tot=tot*10+st[i]-48;
}
}
return (sum+tot==n);
}
void dfs(int dep){
if(dep>=len){
t=0;
if(check()){
ans=min(ans,t);
}
return;
}
p[dep]=1;
dfs(dep+1);
p[dep]=0;
dfs(dep+1);
}
int main(){
cin>>st>>n;
len=st.size();
dfs(1);
printf("%d\n",(ans==100?-1:ans));
return 0;
}