第二题不一定每个位置都有+-号的,可以没有。题目给的范围可以到10的4次,仔细想想就知道了。 long res=0; void dfs(string s,long ans,long k){ if(s==""){ if(ans==k) res++; return; } for(int i=1;i<=s.length();i++){ string temp=s.substr(0,i); long t=stol(temp); dfs(s.substr(i,s.length()-i),ans+t,k); dfs(s.substr(i,s.length()-i),ans-t,k); } } int main() { long n,k; cin>>n; string s; while(n--){ res=0; cin>>s>>k; for(int i=1;i<=s.length();i++){ string temp=s.substr(0,i); long t=stol(temp); dfs(s.substr(i,s.length()-i),t,k); } cout<<res<<endl; } }
点赞 评论

相关推荐

码农索隆:我头回见校招简历把个人优势写在最前面的,是我老了吗
点赞 评论 收藏
分享
牛客网
牛客企业服务